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
aa51ae7c
Commit
aa51ae7c
authored
Sep 19, 2023
by
wenyang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
电子报聘邀请链接2
parent
9b8af942
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
749 additions
and
72 deletions
+749
-72
yd-api/src/main/java/com/yd/api/practitioner/PractitionerArticleController.java
+12
-10
yd-api/src/main/java/com/yd/api/practitioner/PractitionerController.java
+18
-8
yd-api/src/main/java/com/yd/api/practitioner/service/PractitionerService.java
+6
-0
yd-api/src/main/java/com/yd/api/practitioner/service/impl/PractitionerServiceImpl.java
+342
-54
yd-api/src/main/java/com/yd/dal/entity/systemMessage/AclSystemMessage.java
+204
-0
yd-api/src/main/java/com/yd/dal/mapper/customer/AclPractitionerMapper.java
+2
-0
yd-api/src/main/java/com/yd/dal/mapper/systemMessage/AclSystemMessageMapper.java
+15
-0
yd-api/src/main/java/com/yd/dal/service/customer/AclPractitionerDALService.java
+2
-0
yd-api/src/main/java/com/yd/dal/service/customer/impl/AclPractitionerDALServiceImpl.java
+5
-0
yd-api/src/main/java/com/yd/dal/service/systemMessage/AclSystemMessageService.java
+13
-0
yd-api/src/main/java/com/yd/dal/service/systemMessage/Impl/AclSystemMessageServiceImpl.java
+34
-0
yd-api/src/main/resources/mapper/customer/AclPractitionerMapper.xml
+19
-0
yd-api/src/main/resources/mapper/systemMessage/AclSystemMessageMapper.xml
+77
-0
No files found.
yd-api/src/main/java/com/yd/api/practitioner/PractitionerArticleController.java
View file @
aa51ae7c
package
com
.
yd
.
api
.
practitioner
;
package
com
.
yd
.
api
.
practitioner
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.yd.api.practitioner.service.PractitionerArticleService
;
import
com.yd.api.practitioner.service.PractitionerArticleService
;
import
com.yd.api.practitioner.vo.ArticleTrackSaveResponseVO
;
import
com.yd.api.practitioner.vo.ArticleTrackSaveResponseVO
;
import
com.yd.api.practitioner.vo.article.ArticleShareCodeSaveRequestVO
;
import
com.yd.api.practitioner.vo.article.ArticleShareCodeSaveRequestVO
;
...
@@ -7,11 +14,6 @@ import com.yd.api.practitioner.vo.article.ArticleShareCodeSaveResponseVO;
...
@@ -7,11 +14,6 @@ import com.yd.api.practitioner.vo.article.ArticleShareCodeSaveResponseVO;
import
com.yd.api.practitioner.vo.article.ArticleTrackQueryResponseVO
;
import
com.yd.api.practitioner.vo.article.ArticleTrackQueryResponseVO
;
import
com.yd.api.practitioner.vo.article.ArticleTrackSaveRequestVO
;
import
com.yd.api.practitioner.vo.article.ArticleTrackSaveRequestVO
;
import
com.yd.api.result.JsonResult
;
import
com.yd.api.result.JsonResult
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
javax.annotation.Resource
;
@RestController
@RestController
@RequestMapping
(
"/practitionerArticle"
)
@RequestMapping
(
"/practitionerArticle"
)
...
@@ -25,8 +27,8 @@ public class PractitionerArticleController {
...
@@ -25,8 +27,8 @@ public class PractitionerArticleController {
@RequestMapping
(
"/articleShareCodeSave"
)
@RequestMapping
(
"/articleShareCodeSave"
)
public
Object
articleShareCodeSave
(
@RequestBody
ArticleShareCodeSaveRequestVO
requestVO
){
public
Object
articleShareCodeSave
(
@RequestBody
ArticleShareCodeSaveRequestVO
requestVO
){
JsonResult
result
=
new
JsonResult
();
JsonResult
result
=
new
JsonResult
();
System
.
out
.
println
(
"分享文章保存"
);
//
System.out.println("分享文章保存");
System
.
out
.
println
(
requestVO
.
toString
());
//
System.out.println(requestVO.toString());
ArticleShareCodeSaveResponseVO
responseVO
=
practitionerArticleService
.
articleShareCodeSave
(
requestVO
);
ArticleShareCodeSaveResponseVO
responseVO
=
practitionerArticleService
.
articleShareCodeSave
(
requestVO
);
result
.
addResult
(
responseVO
);
result
.
addResult
(
responseVO
);
result
.
setData
(
responseVO
);
result
.
setData
(
responseVO
);
...
@@ -38,8 +40,8 @@ public class PractitionerArticleController {
...
@@ -38,8 +40,8 @@ public class PractitionerArticleController {
*/
*/
@RequestMapping
(
"/articleTrackSave"
)
@RequestMapping
(
"/articleTrackSave"
)
public
Object
articleTrackSave
(
@RequestBody
ArticleTrackSaveRequestVO
requestVO
){
public
Object
articleTrackSave
(
@RequestBody
ArticleTrackSaveRequestVO
requestVO
){
System
.
out
.
println
(
"客户文章跟踪信息保存"
);
//
System.out.println("客户文章跟踪信息保存");
System
.
out
.
println
(
requestVO
.
toString
());
//
System.out.println(requestVO.toString());
JsonResult
result
=
new
JsonResult
();
JsonResult
result
=
new
JsonResult
();
ArticleTrackSaveResponseVO
responseVO
=
practitionerArticleService
.
articleTrackSave
(
requestVO
);
ArticleTrackSaveResponseVO
responseVO
=
practitionerArticleService
.
articleTrackSave
(
requestVO
);
result
.
addResult
(
responseVO
);
result
.
addResult
(
responseVO
);
...
@@ -53,7 +55,7 @@ public class PractitionerArticleController {
...
@@ -53,7 +55,7 @@ public class PractitionerArticleController {
@RequestMapping
(
value
=
"/articleTrackQuery"
,
method
=
RequestMethod
.
GET
)
@RequestMapping
(
value
=
"/articleTrackQuery"
,
method
=
RequestMethod
.
GET
)
public
Object
articleTrackQuery
(
@RequestParam
(
"practitionerId"
)
Long
practitionerId
,
public
Object
articleTrackQuery
(
@RequestParam
(
"practitionerId"
)
Long
practitionerId
,
@RequestParam
(
"sharingId"
)
Long
sharingId
){
@RequestParam
(
"sharingId"
)
Long
sharingId
){
System
.
out
.
println
(
"客户文章跟踪信息查询"
);
//
System.out.println("客户文章跟踪信息查询");
JsonResult
result
=
new
JsonResult
();
JsonResult
result
=
new
JsonResult
();
ArticleTrackQueryResponseVO
responseVO
=
practitionerArticleService
.
articleTrackQuery
(
practitionerId
,
sharingId
);
ArticleTrackQueryResponseVO
responseVO
=
practitionerArticleService
.
articleTrackQuery
(
practitionerId
,
sharingId
);
result
.
addResult
(
responseVO
);
result
.
addResult
(
responseVO
);
...
...
yd-api/src/main/java/com/yd/api/practitioner/PractitionerController.java
View file @
aa51ae7c
package
com
.
yd
.
api
.
practitioner
;
package
com
.
yd
.
api
.
practitioner
;
import
com.yd.api.practitioner.vo.QueryCanSeeResponseVO
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.PathVariable
;
...
@@ -13,6 +12,7 @@ import com.yd.api.practitioner.service.PractitionerBasicInfoService;
...
@@ -13,6 +12,7 @@ import com.yd.api.practitioner.service.PractitionerBasicInfoService;
import
com.yd.api.practitioner.service.PractitionerService
;
import
com.yd.api.practitioner.service.PractitionerService
;
import
com.yd.api.practitioner.service.ScheduleTrackService
;
import
com.yd.api.practitioner.service.ScheduleTrackService
;
import
com.yd.api.practitioner.vo.PractitionerIdRequestVO
;
import
com.yd.api.practitioner.vo.PractitionerIdRequestVO
;
import
com.yd.api.practitioner.vo.QueryCanSeeResponseVO
;
import
com.yd.api.practitioner.vo.businessCard.PractitionerApplyEmailRequestVO
;
import
com.yd.api.practitioner.vo.businessCard.PractitionerApplyEmailRequestVO
;
import
com.yd.api.practitioner.vo.businessCard.PractitionerBusinessCardRequestVO
;
import
com.yd.api.practitioner.vo.businessCard.PractitionerBusinessCardRequestVO
;
import
com.yd.api.practitioner.vo.businessCard.PractitionerBusinessCardResponseVO
;
import
com.yd.api.practitioner.vo.businessCard.PractitionerBusinessCardResponseVO
;
...
@@ -118,10 +118,8 @@ import com.yd.api.result.CommonResultIDResponseVO;
...
@@ -118,10 +118,8 @@ import com.yd.api.result.CommonResultIDResponseVO;
import
com.yd.api.result.CommonResultResponseVO
;
import
com.yd.api.result.CommonResultResponseVO
;
import
com.yd.api.result.IDRequestVO
;
import
com.yd.api.result.IDRequestVO
;
import
com.yd.api.result.JsonResult
;
import
com.yd.api.result.JsonResult
;
import
com.yd.rmi.n22.policy.service.N22PolicyService
;
import
com.yd.rmi.n22.salary.pojo.searchstaffsalarydetails.SearchStaffSalaryDetailsRequestBody
;
import
com.yd.rmi.n22.salary.pojo.searchstaffsalarydetails.SearchStaffSalaryDetailsRequestBody
;
import
com.yd.rmi.n22.salary.pojo.searchstaffsalarydetails.SearchStaffSalaryDetailsResponseBody
;
import
com.yd.rmi.n22.salary.pojo.searchstaffsalarydetails.SearchStaffSalaryDetailsResponseBody
;
import
com.yd.rmi.n22.staff.service.N22StaffService
;
@Controller
@Controller
...
@@ -135,10 +133,10 @@ public class PractitionerController {
...
@@ -135,10 +133,10 @@ public class PractitionerController {
private
PractitionerBasicInfoService
practitionerBasicInfoService
;
private
PractitionerBasicInfoService
practitionerBasicInfoService
;
@Autowired
@Autowired
private
ScheduleTrackService
scheduleTrackService
;
private
ScheduleTrackService
scheduleTrackService
;
@Autowired
//
@Autowired
private
N22PolicyService
n22PolicyService
;
//
private N22PolicyService n22PolicyService;
@Autowired
//
@Autowired
private
N22StaffService
n22StaffService
;
//
private N22StaffService n22StaffService;
/**
/**
* 经纪人登录
* 经纪人登录
* @param requestVO 请求数据
* @param requestVO 请求数据
...
@@ -261,7 +259,19 @@ public class PractitionerController {
...
@@ -261,7 +259,19 @@ public class PractitionerController {
result
.
setData
(
responseVO
);
result
.
setData
(
responseVO
);
return
result
;
return
result
;
}
}
/**
* 微信链接邀请--新增增员
* @param requestVO 请求数据
* @return 响应数据
*/
@RequestMapping
(
"/wxUrlRecruit"
)
public
Object
wxUrlRecruit
(
@RequestBody
RecruitRequestVO
requestVO
){
JsonResult
result
=
new
JsonResult
();
RecruitResponseVO
responseVO
=
practitionerService
.
wxUrlRecruit
(
requestVO
);
result
.
addResult
(
responseVO
);
result
.
setData
(
responseVO
);
return
result
;
}
/***
/***
* 经纪人-经纪人查询自己的商机详情查询
* 经纪人-经纪人查询自己的商机详情查询
* @param requestVO 请求数据
* @param requestVO 请求数据
...
...
yd-api/src/main/java/com/yd/api/practitioner/service/PractitionerService.java
View file @
aa51ae7c
...
@@ -95,6 +95,12 @@ public interface PractitionerService {
...
@@ -95,6 +95,12 @@ public interface PractitionerService {
*/
*/
RecruitResponseVO
recruit
(
RecruitRequestVO
requestVO
);
RecruitResponseVO
recruit
(
RecruitRequestVO
requestVO
);
/**
/**
* 微信链接邀请--新增增员
* @param requestVO 请求信息
* @return responseVO
*/
RecruitResponseVO
wxUrlRecruit
(
RecruitRequestVO
requestVO
);
/**
* 团队长--新增增员记录
* 团队长--新增增员记录
* @param requestVO 请求信息
* @param requestVO 请求信息
* @return responseVO
* @return responseVO
...
...
yd-api/src/main/java/com/yd/api/practitioner/service/impl/PractitionerServiceImpl.java
View file @
aa51ae7c
package
com
.
yd
.
api
.
practitioner
.
service
.
impl
;
package
com
.
yd
.
api
.
practitioner
.
service
.
impl
;
import
static
java
.
util
.
stream
.
Collectors
.
toList
;
import
java.awt.Image
;
import
java.awt.image.BufferedImage
;
import
java.io.BufferedInputStream
;
import
java.io.ByteArrayInputStream
;
import
java.io.ByteArrayOutputStream
;
import
java.io.File
;
import
java.io.FileInputStream
;
import
java.io.FileNotFoundException
;
import
java.io.FileOutputStream
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.io.OutputStream
;
import
java.io.UnsupportedEncodingException
;
import
java.math.BigDecimal
;
import
java.net.URLEncoder
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.Base64
;
import
java.util.Calendar
;
import
java.util.Collections
;
import
java.util.Comparator
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.HashSet
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.concurrent.ConcurrentMap
;
import
java.util.concurrent.ExecutorService
;
import
java.util.concurrent.Executors
;
import
java.util.stream.Collectors
;
import
javax.imageio.ImageIO
;
import
javax.script.ScriptEngine
;
import
javax.script.ScriptEngineManager
;
import
javax.script.ScriptException
;
import
org.apache.commons.beanutils.BeanPropertyValueEqualsPredicate
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.pdfbox.pdmodel.PDDocument
;
import
org.apache.pdfbox.pdmodel.PDPageTree
;
import
org.apache.pdfbox.rendering.PDFRenderer
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.github.pagehelper.PageHelper
;
import
com.github.pagehelper.PageHelper
;
import
com.google.common.base.Strings
;
import
com.google.common.base.Strings
;
import
com.itextpdf.text.*
;
import
com.itextpdf.text.BaseColor
;
import
com.itextpdf.text.pdf.*
;
import
com.itextpdf.text.Chunk
;
import
com.itextpdf.text.Document
;
import
com.itextpdf.text.Element
;
import
com.itextpdf.text.Paragraph
;
import
com.itextpdf.text.Phrase
;
import
com.itextpdf.text.pdf.BaseFont
;
import
com.itextpdf.text.pdf.PdfCopy
;
import
com.itextpdf.text.pdf.PdfImportedPage
;
import
com.itextpdf.text.pdf.PdfPCell
;
import
com.itextpdf.text.pdf.PdfPTable
;
import
com.itextpdf.text.pdf.PdfReader
;
import
com.itextpdf.text.pdf.PdfWriter
;
import
com.itextpdf.text.pdf.draw.LineSeparator
;
import
com.itextpdf.text.pdf.draw.LineSeparator
;
import
com.libs.pdf.PDFTemplate
;
import
com.libs.pdf.PDFTemplate
;
import
com.yd.api.customer.service.CustomerService
;
import
com.yd.api.customer.service.CustomerService
;
...
@@ -20,24 +83,97 @@ import com.yd.api.practitioner.vo.businessCard.PractitionerBusinessCardRequestVO
...
@@ -20,24 +83,97 @@ import com.yd.api.practitioner.vo.businessCard.PractitionerBusinessCardRequestVO
import
com.yd.api.practitioner.vo.businessCard.PractitionerBusinessCardResponseVO
;
import
com.yd.api.practitioner.vo.businessCard.PractitionerBusinessCardResponseVO
;
import
com.yd.api.practitioner.vo.commitment.QueryCommitmentByPractitionerIdResponseVO
;
import
com.yd.api.practitioner.vo.commitment.QueryCommitmentByPractitionerIdResponseVO
;
import
com.yd.api.practitioner.vo.commitment.SignCommitmentRequestVO
;
import
com.yd.api.practitioner.vo.commitment.SignCommitmentRequestVO
;
import
com.yd.api.practitioner.vo.informed.*
;
import
com.yd.api.practitioner.vo.informed.QueryInformedSheetByIdResponseVO
;
import
com.yd.api.practitioner.vo.informed.QueryInformedSheetListRequestVO
;
import
com.yd.api.practitioner.vo.informed.QueryInformedSheetListResponseVO
;
import
com.yd.api.practitioner.vo.informed.SaveInformedSheetRequestVO
;
import
com.yd.api.practitioner.vo.informed.SignInformedSheetRequestVO
;
import
com.yd.api.practitioner.vo.informed.UpdateInformedSheetByIdRequestVO
;
import
com.yd.api.practitioner.vo.login.CanSeeSalaryListResponseVO
;
import
com.yd.api.practitioner.vo.login.CanSeeSalaryListResponseVO
;
import
com.yd.api.practitioner.vo.login.PractitionerLoginBasicInfo
;
import
com.yd.api.practitioner.vo.login.PractitionerLoginBasicInfo
;
import
com.yd.api.practitioner.vo.login.PractitionerLoginRequestVO
;
import
com.yd.api.practitioner.vo.login.PractitionerLoginRequestVO
;
import
com.yd.api.practitioner.vo.login.PractitionerLoginResponseVO
;
import
com.yd.api.practitioner.vo.login.PractitionerLoginResponseVO
;
import
com.yd.api.practitioner.vo.media.MediaGetReqVO
;
import
com.yd.api.practitioner.vo.media.MediaGetReqVO
;
import
com.yd.api.practitioner.vo.media.MediaGetRespVO
;
import
com.yd.api.practitioner.vo.media.MediaGetRespVO
;
import
com.yd.api.practitioner.vo.opportunity.*
;
import
com.yd.api.practitioner.vo.opportunity.ApplyForExpertSupportRequestVO
;
import
com.yd.api.practitioner.vo.practitionerCustomer.*
;
import
com.yd.api.practitioner.vo.opportunity.ApplyForExpertSupportResponseVO
;
import
com.yd.api.practitioner.vo.opportunity.OpportunityBasicInformationInfo
;
import
com.yd.api.practitioner.vo.opportunity.OpportunityConsultationInfo
;
import
com.yd.api.practitioner.vo.opportunity.OpportunityCustomerTag
;
import
com.yd.api.practitioner.vo.opportunity.OpportunityDeleteRequestVO
;
import
com.yd.api.practitioner.vo.opportunity.OpportunityRecordInfo
;
import
com.yd.api.practitioner.vo.opportunity.OpportunityRecordSituationInfo
;
import
com.yd.api.practitioner.vo.opportunity.OpportunityScore
;
import
com.yd.api.practitioner.vo.opportunity.OpportunityStatisticsRequestVO
;
import
com.yd.api.practitioner.vo.opportunity.OpportunityStatisticsResponseVO
;
import
com.yd.api.practitioner.vo.opportunity.OpportunitySurveyAnswers
;
import
com.yd.api.practitioner.vo.opportunity.OwnOpportunityBasicInformationSaveRequestVO
;
import
com.yd.api.practitioner.vo.opportunity.OwnOpportunityBasicInformationSaveResponseVO
;
import
com.yd.api.practitioner.vo.opportunity.OwnOpportunityDetailQueryRequestVO
;
import
com.yd.api.practitioner.vo.opportunity.OwnOpportunityDetailQueryResponseVO
;
import
com.yd.api.practitioner.vo.opportunity.OwnOpportunityQueryRequestVO
;
import
com.yd.api.practitioner.vo.opportunity.OwnOpportunityQueryResponseVO
;
import
com.yd.api.practitioner.vo.opportunity.OwnOpportunityRecordSaveRequestVO
;
import
com.yd.api.practitioner.vo.opportunity.OwnOpportunityRecordSaveResponseVO
;
import
com.yd.api.practitioner.vo.opportunity.PlayerSalesActivityQueryRequestVO
;
import
com.yd.api.practitioner.vo.opportunity.PlayerSalesActivityQueryResponseVO
;
import
com.yd.api.practitioner.vo.opportunity.SalesPerformanceForecastInfo
;
import
com.yd.api.practitioner.vo.opportunity.SalesPerformanceForecastListQueryRequestVO
;
import
com.yd.api.practitioner.vo.opportunity.SalesPerformanceForecastListQueryResponseVO
;
import
com.yd.api.practitioner.vo.opportunity.SalesScoreDetail
;
import
com.yd.api.practitioner.vo.opportunity.SalesScoreDetailQueryRequestVO
;
import
com.yd.api.practitioner.vo.opportunity.SalesScoreDetailQueryResponseVO
;
import
com.yd.api.practitioner.vo.practitionerCustomer.CustomerHolder
;
import
com.yd.api.practitioner.vo.practitionerCustomer.QueryCustomerHolderListResponesVO
;
import
com.yd.api.practitioner.vo.practitionerCustomer.QueryCustomerInsuredListRequestVO
;
import
com.yd.api.practitioner.vo.practitionerCustomer.QueryCustomerInsuredListResponesVO
;
import
com.yd.api.practitioner.vo.practitionerCustomer.QueryPolicyListByHolderCustomerIdRequestVO
;
import
com.yd.api.practitioner.vo.practitionerCustomer.QueryPolicyListByHolderCustomerIdResponesVO
;
import
com.yd.api.practitioner.vo.rank.AclCustomerFortuneStatistics
;
import
com.yd.api.practitioner.vo.rank.AclCustomerFortuneStatistics
;
import
com.yd.api.practitioner.vo.rank.PractitionerInfoForAchievement
;
import
com.yd.api.practitioner.vo.rank.PractitionerInfoForAchievement
;
import
com.yd.api.practitioner.vo.rank.PractitionerRankRequestVO
;
import
com.yd.api.practitioner.vo.rank.PractitionerRankRequestVO
;
import
com.yd.api.practitioner.vo.rank.PractitionerRankResponseVO
;
import
com.yd.api.practitioner.vo.rank.PractitionerRankResponseVO
;
import
com.yd.api.practitioner.vo.recruit.*
;
import
com.yd.api.practitioner.vo.recruit.AddRecruitTrackRequestVO
;
import
com.yd.api.practitioner.vo.salestarget.*
;
import
com.yd.api.practitioner.vo.recruit.AddRecruitTrackResponseVO
;
import
com.yd.api.practitioner.vo.recruit.PotentialActivityQueryRequestVO
;
import
com.yd.api.practitioner.vo.recruit.PotentialActivityQueryResponseVO
;
import
com.yd.api.practitioner.vo.recruit.PotentialGoalsActionsInfo
;
import
com.yd.api.practitioner.vo.recruit.PotentialGoalsActionsQueryRequestVO
;
import
com.yd.api.practitioner.vo.recruit.PotentialGoalsActionsQueryResponseVO
;
import
com.yd.api.practitioner.vo.recruit.PotentialGoalsActionsUpdateRequestVO
;
import
com.yd.api.practitioner.vo.recruit.PotentialGoalsActionsUpdateResponseVO
;
import
com.yd.api.practitioner.vo.recruit.PotentialGoalsQueryRequestVO
;
import
com.yd.api.practitioner.vo.recruit.PotentialGoalsQueryResponseVO
;
import
com.yd.api.practitioner.vo.recruit.PotentialGoalsSettingRequestVO
;
import
com.yd.api.practitioner.vo.recruit.PotentialGoalsSettingResponseVO
;
import
com.yd.api.practitioner.vo.recruit.PractitionerPotentialInfo
;
import
com.yd.api.practitioner.vo.recruit.RecruitGoalForMonth
;
import
com.yd.api.practitioner.vo.recruit.RecruitListRequestVO
;
import
com.yd.api.practitioner.vo.recruit.RecruitListResponseVO
;
import
com.yd.api.practitioner.vo.recruit.RecruitRequestVO
;
import
com.yd.api.practitioner.vo.recruit.RecruitResponseVO
;
import
com.yd.api.practitioner.vo.recruit.RecruitTrackInfo
;
import
com.yd.api.practitioner.vo.recruit.RecruitTrackQueryRequestVO
;
import
com.yd.api.practitioner.vo.recruit.RecruitTrackQueryResponseVO
;
import
com.yd.api.practitioner.vo.salestarget.SalesTargetActions
;
import
com.yd.api.practitioner.vo.salestarget.SalesTargetMonth
;
import
com.yd.api.practitioner.vo.salestarget.SalesTargetMonthSaveRequestVO
;
import
com.yd.api.practitioner.vo.salestarget.SalesTargetMonthSaveResponseVO
;
import
com.yd.api.practitioner.vo.salestarget.SalesTargetQueryRequestVO
;
import
com.yd.api.practitioner.vo.salestarget.SalesTargetQueryResponseVO
;
import
com.yd.api.practitioner.vo.salestarget.SalesTargetSaveRequestVO
;
import
com.yd.api.practitioner.vo.salestarget.SalesTargetSaveResponseVO
;
import
com.yd.api.practitioner.vo.salestarget.TeamActionsAverageQueryRequestVO
;
import
com.yd.api.practitioner.vo.salestarget.TeamActionsAverageQueryResponseVO
;
import
com.yd.api.practitioner.vo.sechedule.AddScheduleTrackRequestVO
;
import
com.yd.api.practitioner.vo.sechedule.AddScheduleTrackRequestVO
;
import
com.yd.api.practitioner.vo.sechedule.AddScheduleTrackResponseVO
;
import
com.yd.api.practitioner.vo.sechedule.AddScheduleTrackResponseVO
;
import
com.yd.api.practitioner.vo.setting.*
;
import
com.yd.api.practitioner.vo.setting.ImgDeleteRequestVO
;
import
com.yd.api.practitioner.vo.setting.ImgDeleteResponseVO
;
import
com.yd.api.practitioner.vo.setting.LifeImg
;
import
com.yd.api.practitioner.vo.setting.SettingQueryRequestVO
;
import
com.yd.api.practitioner.vo.setting.SettingQueryResponseVO
;
import
com.yd.api.practitioner.vo.setting.SettingSaveRequestVO
;
import
com.yd.api.practitioner.vo.setting.SettingSaveResponseVO
;
import
com.yd.api.practitioner.vo.subordinate.SubordinateSystemMemberInfo
;
import
com.yd.api.practitioner.vo.subordinate.SubordinateSystemMemberInfo
;
import
com.yd.api.practitioner.vo.subordinate.SubordinateSystemMemberQueryRequestVO
;
import
com.yd.api.practitioner.vo.subordinate.SubordinateSystemMemberQueryRequestVO
;
import
com.yd.api.practitioner.vo.subordinate.SubordinateSystemMemberQueryResponseVO
;
import
com.yd.api.practitioner.vo.subordinate.SubordinateSystemMemberQueryResponseVO
;
...
@@ -48,26 +184,83 @@ import com.yd.api.result.CommonResult;
...
@@ -48,26 +184,83 @@ import com.yd.api.result.CommonResult;
import
com.yd.api.result.CommonResultIDResponseVO
;
import
com.yd.api.result.CommonResultIDResponseVO
;
import
com.yd.api.result.CommonResultResponseVO
;
import
com.yd.api.result.CommonResultResponseVO
;
import
com.yd.api.result.IDRequestVO
;
import
com.yd.api.result.IDRequestVO
;
import
com.yd.dal.entity.customer.*
;
import
com.yd.dal.entity.customer.AclCustomer
;
import
com.yd.dal.entity.customer.practitioner.*
;
import
com.yd.dal.entity.customer.AclCustomerLog
;
import
com.yd.dal.entity.marketing.*
;
import
com.yd.dal.entity.customer.AclCustomerMembership
;
import
com.yd.dal.entity.meta.*
;
import
com.yd.dal.entity.customer.AclCustomerShare
;
import
com.yd.dal.entity.customer.AclFileUpload
;
import
com.yd.dal.entity.customer.AclPractitioner
;
import
com.yd.dal.entity.customer.AclPractitionerPotential
;
import
com.yd.dal.entity.customer.AclPractitionerPotentialAssignedTrack
;
import
com.yd.dal.entity.customer.AclPractitionerPotentialAssigneds
;
import
com.yd.dal.entity.customer.AclPractitionerPotentialGoals
;
import
com.yd.dal.entity.customer.AclPractitionerPotentialGoalsActions
;
import
com.yd.dal.entity.customer.AclPractitionerSetting
;
import
com.yd.dal.entity.customer.AclPractitionerSubordinateSystem
;
import
com.yd.dal.entity.customer.AgPoInformed
;
import
com.yd.dal.entity.customer.CustomerFileUpload
;
import
com.yd.dal.entity.customer.practitioner.PractitionerBasicInfo
;
import
com.yd.dal.entity.customer.practitioner.PractitionerInfo
;
import
com.yd.dal.entity.customer.practitioner.PractitionerRankInfo
;
import
com.yd.dal.entity.customer.practitioner.PractitionerSubordinateInfo
;
import
com.yd.dal.entity.customer.practitioner.SubordinateSystemMemberInfoE
;
import
com.yd.dal.entity.marketing.AgSfpAppointmentRecord
;
import
com.yd.dal.entity.marketing.MktLeadsAssignedTrack
;
import
com.yd.dal.entity.marketing.MktLeadsAssigneds
;
import
com.yd.dal.entity.marketing.MktLeadsExpertAssign
;
import
com.yd.dal.entity.marketing.MktLeadsExpertRequest
;
import
com.yd.dal.entity.marketing.MktLeadsGoals
;
import
com.yd.dal.entity.marketing.MktLeadsGoalsActions
;
import
com.yd.dal.entity.marketing.MktLeadsPool
;
import
com.yd.dal.entity.meta.MdDropMaster
;
import
com.yd.dal.entity.meta.MdDropOptions
;
import
com.yd.dal.entity.meta.MdGoalsCalculateExpression
;
import
com.yd.dal.entity.meta.MdMkCampaign
;
import
com.yd.dal.entity.meta.MdTag
;
import
com.yd.dal.entity.meta.ObjectCollectionTagged
;
import
com.yd.dal.entity.order.CustomerPolicyInfo
;
import
com.yd.dal.entity.order.CustomerPolicyInfo
;
import
com.yd.dal.entity.order.PoOrder
;
import
com.yd.dal.entity.order.PoOrder
;
import
com.yd.dal.entity.practitioner.opportunity.OwnOpportunityInfo
;
import
com.yd.dal.entity.practitioner.opportunity.OwnOpportunityInfo
;
import
com.yd.dal.entity.practitioner.opportunity.PlayerSalesActivityInfo
;
import
com.yd.dal.entity.practitioner.opportunity.PlayerSalesActivityInfo
;
import
com.yd.dal.entity.survey.SurveyCustomerAnswers
;
import
com.yd.dal.entity.survey.SurveyCustomerAnswers
;
import
com.yd.dal.entity.systemMessage.AclSystemMessage
;
import
com.yd.dal.entity.user.AclUser
;
import
com.yd.dal.entity.user.AclUser
;
import
com.yd.dal.mapper.customer.AclPolicyholderMapper
;
import
com.yd.dal.mapper.customer.AclPolicyholderMapper
;
import
com.yd.dal.mapper.customer.AgPoInformedMapper
;
import
com.yd.dal.mapper.customer.AgPoInformedMapper
;
import
com.yd.dal.mapper.marketing.MktLeadsAssignedsMapper
;
import
com.yd.dal.mapper.marketing.MktLeadsAssignedsMapper
;
import
com.yd.dal.service.agms.AgmsDashboardDALService
;
import
com.yd.dal.service.agms.AgmsDashboardDALService
;
import
com.yd.dal.service.customer.*
;
import
com.yd.dal.service.customer.AclCustomerDALService
;
import
com.yd.dal.service.marketing.*
;
import
com.yd.dal.service.customer.AclCustomerFortuneDALService
;
import
com.yd.dal.service.meta.*
;
import
com.yd.dal.service.customer.AclCustomerLogDALService
;
import
com.yd.dal.service.customer.AclCustomerMembershipDALService
;
import
com.yd.dal.service.customer.AclCustomerShareDALService
;
import
com.yd.dal.service.customer.AclFileUploadDALService
;
import
com.yd.dal.service.customer.AclPractitionerDALService
;
import
com.yd.dal.service.customer.AclPractitionerPotentialAssignedTrackDALService
;
import
com.yd.dal.service.customer.AclPractitionerPotentialAssignedsDALService
;
import
com.yd.dal.service.customer.AclPractitionerPotentialDALService
;
import
com.yd.dal.service.customer.AclPractitionerPotentialGoalsActionsDALService
;
import
com.yd.dal.service.customer.AclPractitionerPotentialGoalsDALService
;
import
com.yd.dal.service.customer.AclPractitionerSettingDALService
;
import
com.yd.dal.service.customer.AclPractitionerSubordinateSystemDALService
;
import
com.yd.dal.service.marketing.MktLeadsAssignedTrackDALService
;
import
com.yd.dal.service.marketing.MktLeadsAssignedsDALService
;
import
com.yd.dal.service.marketing.MktLeadsExpertAssignDALService
;
import
com.yd.dal.service.marketing.MktLeadsExpertRequestDALService
;
import
com.yd.dal.service.marketing.MktLeadsGoalsActionsDALService
;
import
com.yd.dal.service.marketing.MktLeadsGoalsDALService
;
import
com.yd.dal.service.marketing.MktLeadsPoolDALService
;
import
com.yd.dal.service.meta.MdCodeDALService
;
import
com.yd.dal.service.meta.MdDropMasterDALService
;
import
com.yd.dal.service.meta.MdDropOptionsDALService
;
import
com.yd.dal.service.meta.MdGoalsCalculateExpressionDALService
;
import
com.yd.dal.service.meta.MdGoalsCalculateExpressionService
;
import
com.yd.dal.service.meta.MdMkCampaignDALService
;
import
com.yd.dal.service.meta.MdTagDALService
;
import
com.yd.dal.service.meta.ObjectCollectionTaggedDALService
;
import
com.yd.dal.service.order.PoOrderDALService
;
import
com.yd.dal.service.order.PoOrderDALService
;
import
com.yd.dal.service.survey.SurveyCustomerAnswersDALService
;
import
com.yd.dal.service.survey.SurveyCustomerAnswersDALService
;
import
com.yd.dal.service.
tencent.TenInterfRecordDAL
Service
;
import
com.yd.dal.service.
systemMessage.AclSystemMessage
Service
;
import
com.yd.dal.service.user.AclUserDALService
;
import
com.yd.dal.service.user.AclUserDALService
;
import
com.yd.rmi.ali.mail.service.MailService
;
import
com.yd.rmi.ali.mail.service.MailService
;
import
com.yd.rmi.ali.oss.service.OssService
;
import
com.yd.rmi.ali.oss.service.OssService
;
...
@@ -87,7 +280,9 @@ import com.yd.rmi.tencent.wechat.vo.WeChatInfoByENV;
...
@@ -87,7 +280,9 @@ import com.yd.rmi.tencent.wechat.vo.WeChatInfoByENV;
import
com.yd.rmi.tencent.wechatinterf.pojo.accesstoken.AccessTokenRequest
;
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.DataDetailInfo
;
import
com.yd.rmi.tencent.wechatinterf.pojo.templetemessage.MiniProgramSfpInfo
;
import
com.yd.rmi.tencent.wechatinterf.pojo.templetemessage.MiniProgramSfpInfo
;
import
com.yd.rmi.tencent.wechatinterf.pojo.templetemessage.SendTemplateRequest
;
import
com.yd.rmi.tencent.wechatinterf.pojo.templetemessage.SendTemplateSfpRequest
;
import
com.yd.rmi.tencent.wechatinterf.pojo.templetemessage.SendTemplateSfpRequest
;
import
com.yd.rmi.tencent.wechatinterf.pojo.templetemessage.TemplateDataInfo
;
import
com.yd.rmi.tencent.wechatinterf.pojo.ticket.TicketRequest
;
import
com.yd.rmi.tencent.wechatinterf.pojo.ticket.TicketRequest
;
import
com.yd.rmi.tencent.wechatinterf.pojo.token.TokenRequest
;
import
com.yd.rmi.tencent.wechatinterf.pojo.token.TokenRequest
;
import
com.yd.rmi.tencent.wechatinterf.service.WechatInterfService
;
import
com.yd.rmi.tencent.wechatinterf.service.WechatInterfService
;
...
@@ -98,35 +293,8 @@ import com.yd.util.PDFConfiguration;
...
@@ -98,35 +293,8 @@ import com.yd.util.PDFConfiguration;
import
com.yd.util.SpringContextUtil
;
import
com.yd.util.SpringContextUtil
;
import
com.yd.util.config.ZHBErrorConfig
;
import
com.yd.util.config.ZHBErrorConfig
;
import
com.yd.util.deshandler.DESTypeHandler
;
import
com.yd.util.deshandler.DESTypeHandler
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.beanutils.BeanPropertyValueEqualsPredicate
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.pdfbox.pdmodel.PDDocument
;
import
org.apache.pdfbox.pdmodel.PDPageTree
;
import
org.apache.pdfbox.rendering.PDFRenderer
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.imageio.ImageIO
;
import
javax.script.ScriptEngine
;
import
javax.script.ScriptEngineManager
;
import
javax.script.ScriptException
;
import
java.awt.Image
;
import
java.awt.image.BufferedImage
;
import
java.io.*
;
import
java.math.BigDecimal
;
import
java.net.URLEncoder
;
import
java.text.SimpleDateFormat
;
import
java.util.List
;
import
java.util.*
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.concurrent.ConcurrentMap
;
import
java.util.stream.Collectors
;
import
static
java
.
util
.
stream
.
Collectors
.
toList
;
import
lombok.extern.slf4j.Slf4j
;
@Service
(
"practitionerService"
)
@Service
(
"practitionerService"
)
@Slf4j
@Slf4j
...
@@ -224,6 +392,8 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
...
@@ -224,6 +392,8 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
private
WechatInterfService
wechatInterfService
;
private
WechatInterfService
wechatInterfService
;
@Autowired
@Autowired
private
SendService
sendService
;
private
SendService
sendService
;
@Autowired
private
AclSystemMessageService
aclSystemMessageService
;
@Override
@Override
public
PractitionerLoginResponseVO
practitionerLogin
(
PractitionerLoginRequestVO
requestVO
)
{
public
PractitionerLoginResponseVO
practitionerLogin
(
PractitionerLoginRequestVO
requestVO
)
{
PractitionerLoginResponseVO
responseVO
=
new
PractitionerLoginResponseVO
();
PractitionerLoginResponseVO
responseVO
=
new
PractitionerLoginResponseVO
();
...
@@ -239,12 +409,12 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
...
@@ -239,12 +409,12 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
if
(
practitionerInfo
!=
null
)
{
if
(
practitionerInfo
!=
null
)
{
Long
practitionerType
=
practitionerInfo
.
getPractitionerType
();
Long
practitionerType
=
practitionerInfo
.
getPractitionerType
();
//处理特殊人员
//处理特殊人员
boolean
isSpecial
=
false
;
//
boolean isSpecial = false;
String
mobileSpecialStr
=
mdCodeDALService
.
findCodeByType
(
"special_practitioner_mobile"
);
//
String mobileSpecialStr = mdCodeDALService.findCodeByType("special_practitioner_mobile");
if
(!
Strings
.
isNullOrEmpty
(
mobileSpecialStr
))
{
//
if (!Strings.isNullOrEmpty(mobileSpecialStr)) {
List
<
String
>
mobileSpecials
=
Arrays
.
asList
(
mobileSpecialStr
.
split
(
","
));
//
List<String> mobileSpecials = Arrays.asList(mobileSpecialStr.split(","));
isSpecial
=
mobileSpecials
.
contains
(
mobileNo
);
//
isSpecial = mobileSpecials.contains(mobileNo);
}
//
}
// if(28L == practitionerType || isSpecial){//只有寿险的经纪人和注册为经纪人的员工才能登录
// if(28L == practitionerType || isSpecial){//只有寿险的经纪人和注册为经纪人的员工才能登录
Long
practitionerId
=
practitionerInfo
.
getPractitionerId
();
Long
practitionerId
=
practitionerInfo
.
getPractitionerId
();
...
@@ -1215,9 +1385,23 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
...
@@ -1215,9 +1385,23 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
Long
practitionerId
=
requestVO
.
getPractitionerId
();
Long
practitionerId
=
requestVO
.
getPractitionerId
();
if
(!
Strings
.
isNullOrEmpty
(
name
)
&&
!
Strings
.
isNullOrEmpty
(
mobileNo
)
&&
practitionerId
!=
null
)
{
if
(!
Strings
.
isNullOrEmpty
(
name
)
&&
!
Strings
.
isNullOrEmpty
(
mobileNo
)
&&
practitionerId
!=
null
)
{
if
(
mobileNo
.
length
()
!=
11
||
mobileNo
.
startsWith
(
"1"
))
{
if
(
mobileNo
.
length
()
!=
11
||
mobileNo
.
startsWith
(
"1"
))
{
recruit
(
requestVO
,
responseVO
,
"recruit"
);
}
else
{
String
[]
paras
=
{
mobileNo
};
responseVO
.
setCommonResult
(
new
CommonResult
(
false
,
ZHBErrorConfig
.
getErrorInfo
(
"630001"
,
paras
)));
}
}
else
{
String
[]
paras
=
{
"name,mobileNo,practitionerId"
};
responseVO
.
setCommonResult
(
new
CommonResult
(
false
,
ZHBErrorConfig
.
getErrorInfo
(
"610002"
,
paras
)));
}
return
responseVO
;
}
private
void
recruit
(
RecruitRequestVO
requestVO
,
RecruitResponseVO
responseVO
,
String
type
)
{
Long
practitionerId
=
requestVO
.
getPractitionerId
();
RegisterRequestVO
register
=
new
RegisterRequestVO
();
RegisterRequestVO
register
=
new
RegisterRequestVO
();
register
.
setMobileNo
(
mobileNo
);
register
.
setMobileNo
(
requestVO
.
getMobileNo
()
);
register
.
setName
(
name
);
register
.
setName
(
requestVO
.
getName
()
);
//将增员对象进行注册
//将增员对象进行注册
RegisterResponseVO
registerResp
=
customerService
.
register
(
register
);
RegisterResponseVO
registerResp
=
customerService
.
register
(
register
);
Long
customerId
=
registerResp
.
getCustomerId
();
Long
customerId
=
registerResp
.
getCustomerId
();
...
@@ -1227,8 +1411,26 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
...
@@ -1227,8 +1411,26 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
//判断该增员是否已存在
//判断该增员是否已存在
Long
potentialId
=
requestVO
.
getPotentialId
();
Long
potentialId
=
requestVO
.
getPotentialId
();
String
timeToOnboarding
=
requestVO
.
getTimeToOnboarding
();
String
timeToOnboarding
=
requestVO
.
getTimeToOnboarding
();
List
<
AclPractitionerPotential
>
practitionerPotentialList
=
aclPractitionerPotentialDALService
.
findByMobileNo
(
mobileNo
,
1
);
List
<
AclPractitionerPotential
>
practitionerPotentialList
=
aclPractitionerPotentialDALService
.
findByMobileNo
(
requestVO
.
getMobileNo
(),
1
);
if
(
potentialId
!=
null
||
practitionerPotentialList
.
isEmpty
())
{
boolean
boole
=
false
;
if
(
practitionerPotentialList
.
isEmpty
()){
boole
=
true
;
}
else
{
if
(
"wxUrlRecruit"
.
equals
(
type
)){
if
(
practitionerPotentialList
!=
null
&&
practitionerPotentialList
.
size
()
>
0
){
boole
=
true
;
for
(
AclPractitionerPotential
aclPractitionerPotential
:
practitionerPotentialList
)
{
if
(
aclPractitionerPotential
.
getPractitionerAssignedIds
()
!=
null
&&
aclPractitionerPotential
.
getPractitionerAssignedIds
().
equals
(
practitionerId
.
toString
())){
boole
=
false
;
break
;
}
}
}
}
}
if
(
potentialId
!=
null
||
boole
)
{
String
remark
=
requestVO
.
getRemark
();
String
remark
=
requestVO
.
getRemark
();
AclPractitionerPotential
practitionerPotential
=
new
AclPractitionerPotential
();
AclPractitionerPotential
practitionerPotential
=
new
AclPractitionerPotential
();
BeanUtils
.
copyProperties
(
requestVO
,
practitionerPotential
);
BeanUtils
.
copyProperties
(
requestVO
,
practitionerPotential
);
...
@@ -1265,6 +1467,91 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
...
@@ -1265,6 +1467,91 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
}
else
{
}
else
{
responseVO
.
setCommonResult
(
new
CommonResult
(
false
,
ZHBErrorConfig
.
getErrorInfo
(
"830010"
)));
responseVO
.
setCommonResult
(
new
CommonResult
(
false
,
ZHBErrorConfig
.
getErrorInfo
(
"830010"
)));
}
}
}
/**
* 微信链接邀请--新增增员
* @param requestVO 请求数据
* @return 响应数据
*/
@Override
public
RecruitResponseVO
wxUrlRecruit
(
RecruitRequestVO
requestVO
)
{
RecruitResponseVO
responseVO
=
new
RecruitResponseVO
();
String
name
=
requestVO
.
getName
();
String
mobileNo
=
requestVO
.
getMobileNo
();
Long
practitionerId
=
requestVO
.
getPractitionerId
();
if
(!
Strings
.
isNullOrEmpty
(
name
)
&&
!
Strings
.
isNullOrEmpty
(
mobileNo
)
&&
practitionerId
!=
null
)
{
if
(
mobileNo
.
length
()
!=
11
||
mobileNo
.
startsWith
(
"1"
))
{
List
<
PractitionerInfo
>
practitionerList
=
aclPractitionerDALService
.
findPractitionerInfoById
(
practitionerId
);
if
(
practitionerList
!=
null
&&
practitionerList
.
size
()
>
0
){
String
resourceDropMasterId
=
mdCodeDALService
.
findCodeByType
(
"wxUrlRecruitSource"
);
requestVO
.
setResourceDropMasterId
(
Long
.
valueOf
(
resourceDropMasterId
));
recruit
(
requestVO
,
responseVO
,
"wxUrlRecruit"
);
if
(
responseVO
.
getCommonResult
().
isSuccess
()){
ExecutorService
executor
=
Executors
.
newSingleThreadExecutor
();
executor
.
execute
(
new
Runnable
()
{
@Override
public
void
run
(){
PractitionerInfo
practitionerInfo
=
practitionerList
.
get
(
0
);
//1. 给经纪人方送站内消息
String
SYSTEM_URL
=
systemConfigService
.
getSingleConfigValue
(
"SYSTEM_URL"
)
+
"/ydLife/recruiting"
;
String
context
=
"尊敬的"
+
practitionerInfo
.
getName
()+
",您有一条新的微信邀请增员信息,已自动分配到您的增员任务中,请及时跟进。"
+
"您可点此链接<a href='"
+
SYSTEM_URL
+
"'>"
+
SYSTEM_URL
+
"</a> 或至<赢家平台>-<全部工具>-<我的增员>-<团队增员>跟进处理"
;
AclSystemMessage
aclSystemMessage
=
new
AclSystemMessage
();
aclSystemMessage
.
setPractitionerId
(
practitionerId
);
aclSystemMessage
.
setSystemType
(
0
);
aclSystemMessage
.
setType
(
0
);
aclSystemMessage
.
setTitle
(
"微信链接邀请增员"
);
aclSystemMessage
.
setContext
(
context
);
aclSystemMessage
.
setIsRead
(
0
);
aclSystemMessage
.
setIsActive
(
1
);
aclSystemMessage
.
setCreatedAt
(
new
Date
());
aclSystemMessage
.
setCreatedBy
(-
1L
);
aclSystemMessage
.
setUpdatedAt
(
new
Date
());
aclSystemMessage
.
setUpdatedBy
(-
1L
);
aclSystemMessageService
.
save
(
aclSystemMessage
);
//2. 给经纪人方送公众号模板消息
if
(!
Strings
.
isNullOrEmpty
(
practitionerInfo
.
getYdWechatOpenid
())){
String
templateId
=
systemConfigService
.
getSingleConfigValue
(
"Recruit_TENCENT_WECHAT_TEMPLATE_ID_ZJ"
);
String
color
=
systemConfigService
.
getSingleConfigValue
(
"TENCENT_WECHAT_TEMPLATE_COLOR_XB"
);
TemplateDataInfo
dataInfo
=
new
TemplateDataInfo
();
DataDetailInfo
first
=
new
DataDetailInfo
(
""
,
null
);
DataDetailInfo
keyword1
=
new
DataDetailInfo
(
name
+
"-"
+
mobileNo
,
color
);
DataDetailInfo
keyword2
=
new
DataDetailInfo
(
practitionerInfo
.
getName
()+
"分享的微信链接邀请"
,
color
);
DataDetailInfo
keyword3
=
new
DataDetailInfo
(
CommonUtil
.
dateParseString
(
new
Date
(),
"yyyy-MM-dd HH:mm:ss"
),
null
);
DataDetailInfo
remark
=
new
DataDetailInfo
(
""
,
null
);
dataInfo
.
setFirst
(
first
);
dataInfo
.
setKeyword1
(
keyword1
);
dataInfo
.
setKeyword2
(
keyword2
);
dataInfo
.
setKeyword3
(
keyword3
);
dataInfo
.
setRemark
(
remark
);
SendTemplateRequest
sendTemplateRequest
=
new
SendTemplateRequest
();
sendTemplateRequest
.
setTemplateId
(
templateId
);
sendTemplateRequest
.
setData
(
dataInfo
);
sendTemplateRequest
.
setUrl
(
SYSTEM_URL
);
sendTemplateRequest
.
setToUser
(
practitionerInfo
.
getYdWechatOpenid
());
wechatService
.
sendTemplateMessage
(
sendTemplateRequest
);
}
//3. 给经纪人方送短信
//4. 发送邮件给运营
String
toAddress
=
systemConfigService
.
getSingleConfigValue
(
"OPERATE_EMAIL"
);
//运营邮箱
String
ccEmail
=
systemConfigService
.
getSingleConfigValue
(
"OPERATE_CC_EMAIL"
);
//运营抄送邮箱
String
[]
ccAddress
=
ccEmail
.
split
(
","
);
String
subject
=
systemConfigService
.
getSingleConfigValue
(
"OPERATE_SUBJECT_TEXT"
);
//通知标题
subject
=
subject
.
replace
(
"courseName"
,
name
).
replace
(
"mobileNo"
,
mobileNo
).
replace
(
"potentialName"
,
practitionerInfo
.
getName
());
String
messageText
=
systemConfigService
.
getSingleConfigValue
(
"OPERATE_MESSAGE_TEXT"
);
//通知内容
messageText
=
messageText
.
replace
(
"customerName"
,
name
).
replace
(
"mobileNo"
,
mobileNo
).
replace
(
"potentialName"
,
practitionerInfo
.
getName
());
sendService
.
sendEmailOrSMS
(
"email"
,
toAddress
,
"3"
,
messageText
.
toString
(),
null
,
subject
,
ccAddress
,
"微信链接邀请增员"
,
99
,
null
,
null
);
}
});
}
}
else
{
responseVO
.
setCommonResult
(
new
CommonResult
(
false
,
"经纪人无效"
));
}
}
else
{
}
else
{
String
[]
paras
=
{
mobileNo
};
String
[]
paras
=
{
mobileNo
};
responseVO
.
setCommonResult
(
new
CommonResult
(
false
,
ZHBErrorConfig
.
getErrorInfo
(
"630001"
,
paras
)));
responseVO
.
setCommonResult
(
new
CommonResult
(
false
,
ZHBErrorConfig
.
getErrorInfo
(
"630001"
,
paras
)));
...
@@ -1273,6 +1560,7 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
...
@@ -1273,6 +1560,7 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
String
[]
paras
=
{
"name,mobileNo,practitionerId"
};
String
[]
paras
=
{
"name,mobileNo,practitionerId"
};
responseVO
.
setCommonResult
(
new
CommonResult
(
false
,
ZHBErrorConfig
.
getErrorInfo
(
"610002"
,
paras
)));
responseVO
.
setCommonResult
(
new
CommonResult
(
false
,
ZHBErrorConfig
.
getErrorInfo
(
"610002"
,
paras
)));
}
}
return
responseVO
;
return
responseVO
;
}
}
...
...
yd-api/src/main/java/com/yd/dal/entity/systemMessage/AclSystemMessage.java
0 → 100644
View file @
aa51ae7c
package
com
.
yd
.
dal
.
entity
.
systemMessage
;
import
java.util.Date
;
public
class
AclSystemMessage
{
private
static
final
long
serialVersionUID
=
1L
;
private
Long
id
;
//serial idPRIauto_increment
private
Long
practitionerId
;
//practitioner_id
private
Long
customerId
;
//经纪人customerId
private
Long
userId
;
//cffp userid
private
Integer
systemType
;
//系统类型 0=银盾,1=cffp
private
Integer
type
;
//0=系统通知 1=银盾学院课程推送消息
private
String
title
;
private
String
context
;
//消息内容
private
Integer
isRead
;
//0=未读 1=已读
private
Integer
isActive
;
//1=active 2=inactive
private
String
remark
;
//备注
private
Date
createdAt
;
//创建时间
private
Long
createdBy
;
//FK ag_acl_user.id
private
Date
updatedAt
;
//修改时间
private
Long
updatedBy
;
//FK ag_acl_user.id
/**
* @return the id
*/
public
Long
getId
()
{
return
id
;
}
/**
* @param id the id to set
*/
public
void
setId
(
Long
id
)
{
this
.
id
=
id
;
}
/**
* @return the practitionerId
*/
public
Long
getPractitionerId
()
{
return
practitionerId
;
}
/**
* @param practitionerId the practitionerId to set
*/
public
void
setPractitionerId
(
Long
practitionerId
)
{
this
.
practitionerId
=
practitionerId
;
}
/**
* @return the customerId
*/
public
Long
getCustomerId
()
{
return
customerId
;
}
/**
* @param customerId the customerId to set
*/
public
void
setCustomerId
(
Long
customerId
)
{
this
.
customerId
=
customerId
;
}
/**
* @return the userId
*/
public
Long
getUserId
()
{
return
userId
;
}
/**
* @param userId the userId to set
*/
public
void
setUserId
(
Long
userId
)
{
this
.
userId
=
userId
;
}
/**
* @return the systemType
*/
public
Integer
getSystemType
()
{
return
systemType
;
}
/**
* @param systemType the systemType to set
*/
public
void
setSystemType
(
Integer
systemType
)
{
this
.
systemType
=
systemType
;
}
/**
* @return the type
*/
public
Integer
getType
()
{
return
type
;
}
/**
* @param type the type to set
*/
public
void
setType
(
Integer
type
)
{
this
.
type
=
type
;
}
/**
* @return the title
*/
public
String
getTitle
()
{
return
title
;
}
/**
* @param title the title to set
*/
public
void
setTitle
(
String
title
)
{
this
.
title
=
title
;
}
/**
* @return the context
*/
public
String
getContext
()
{
return
context
;
}
/**
* @param context the context to set
*/
public
void
setContext
(
String
context
)
{
this
.
context
=
context
;
}
/**
* @return the isRead
*/
public
Integer
getIsRead
()
{
return
isRead
;
}
/**
* @param isRead the isRead to set
*/
public
void
setIsRead
(
Integer
isRead
)
{
this
.
isRead
=
isRead
;
}
/**
* @return the isActive
*/
public
Integer
getIsActive
()
{
return
isActive
;
}
/**
* @param isActive the isActive to set
*/
public
void
setIsActive
(
Integer
isActive
)
{
this
.
isActive
=
isActive
;
}
/**
* @return the remark
*/
public
String
getRemark
()
{
return
remark
;
}
/**
* @param remark the remark to set
*/
public
void
setRemark
(
String
remark
)
{
this
.
remark
=
remark
;
}
/**
* @return the createdAt
*/
public
Date
getCreatedAt
()
{
return
createdAt
;
}
/**
* @param createdAt the createdAt to set
*/
public
void
setCreatedAt
(
Date
createdAt
)
{
this
.
createdAt
=
createdAt
;
}
/**
* @return the createdBy
*/
public
Long
getCreatedBy
()
{
return
createdBy
;
}
/**
* @param createdBy the createdBy to set
*/
public
void
setCreatedBy
(
Long
createdBy
)
{
this
.
createdBy
=
createdBy
;
}
/**
* @return the updatedAt
*/
public
Date
getUpdatedAt
()
{
return
updatedAt
;
}
/**
* @param updatedAt the updatedAt to set
*/
public
void
setUpdatedAt
(
Date
updatedAt
)
{
this
.
updatedAt
=
updatedAt
;
}
/**
* @return the updatedBy
*/
public
Long
getUpdatedBy
()
{
return
updatedBy
;
}
/**
* @param updatedBy the updatedBy to set
*/
public
void
setUpdatedBy
(
Long
updatedBy
)
{
this
.
updatedBy
=
updatedBy
;
}
}
yd-api/src/main/java/com/yd/dal/mapper/customer/AclPractitionerMapper.java
View file @
aa51ae7c
...
@@ -160,4 +160,6 @@ public interface AclPractitionerMapper {
...
@@ -160,4 +160,6 @@ public interface AclPractitionerMapper {
List
<
Certificate
>
findCertificate
(
List
<
Long
>
certIdList
);
List
<
Certificate
>
findCertificate
(
List
<
Long
>
certIdList
);
List
<
PractitionerInfo
>
findPractitionerInfoByIdList
(
List
<
Long
>
idList
);
List
<
PractitionerInfo
>
findPractitionerInfoByIdList
(
List
<
Long
>
idList
);
List
<
PractitionerInfo
>
findPractitionerInfoById
(
@Param
(
"practitionerId"
)
Long
practitionerId
);
}
}
yd-api/src/main/java/com/yd/dal/mapper/systemMessage/AclSystemMessageMapper.java
0 → 100644
View file @
aa51ae7c
package
com
.
yd
.
dal
.
mapper
.
systemMessage
;
import
com.yd.dal.entity.systemMessage.AclSystemMessage
;
public
interface
AclSystemMessageMapper
{
int
deleteByPrimaryKey
(
Long
id
);
int
insert
(
AclSystemMessage
aclSystemMessage
);
AclSystemMessage
selectByPrimaryKey
(
Long
id
);
int
updateByPrimaryKey
(
AclSystemMessage
aclSystemMessage
);
}
\ No newline at end of file
yd-api/src/main/java/com/yd/dal/service/customer/AclPractitionerDALService.java
View file @
aa51ae7c
...
@@ -222,6 +222,8 @@ public interface AclPractitionerDALService {
...
@@ -222,6 +222,8 @@ public interface AclPractitionerDALService {
List
<
PractitionerInfo
>
findPractitionerInfoByIdList
(
List
<
Long
>
idList
);
List
<
PractitionerInfo
>
findPractitionerInfoByIdList
(
List
<
Long
>
idList
);
List
<
PractitionerInfo
>
findPractitionerInfoById
(
Long
practitionerId
);
List
<
PayScaleInfo
>
queryEGHistorySalaryPDFByPractitionerId
(
Long
practitionerId
);
List
<
PayScaleInfo
>
queryEGHistorySalaryPDFByPractitionerId
(
Long
practitionerId
);
/**
/**
...
...
yd-api/src/main/java/com/yd/dal/service/customer/impl/AclPractitionerDALServiceImpl.java
View file @
aa51ae7c
...
@@ -273,6 +273,11 @@ public class AclPractitionerDALServiceImpl implements AclPractitionerDALService
...
@@ -273,6 +273,11 @@ public class AclPractitionerDALServiceImpl implements AclPractitionerDALService
}
}
@Override
@Override
public
List
<
PractitionerInfo
>
findPractitionerInfoById
(
Long
practitionerId
)
{
return
aclPractitionerMapper
.
findPractitionerInfoById
(
practitionerId
);
}
@Override
public
List
<
PayScaleInfo
>
queryEGHistorySalaryPDFByPractitionerId
(
Long
practitionerId
)
{
public
List
<
PayScaleInfo
>
queryEGHistorySalaryPDFByPractitionerId
(
Long
practitionerId
)
{
return
aclPractitionerMapper
.
queryEGHistorySalaryPDFByPractitionerId
(
practitionerId
);
return
aclPractitionerMapper
.
queryEGHistorySalaryPDFByPractitionerId
(
practitionerId
);
}
}
...
...
yd-api/src/main/java/com/yd/dal/service/systemMessage/AclSystemMessageService.java
0 → 100644
View file @
aa51ae7c
package
com
.
yd
.
dal
.
service
.
systemMessage
;
import
com.yd.dal.entity.systemMessage.AclSystemMessage
;
public
interface
AclSystemMessageService
{
AclSystemMessage
findById
(
Long
id
);
void
save
(
AclSystemMessage
aclSystemMessage
);
void
update
(
AclSystemMessage
aclSystemMessage
);
}
yd-api/src/main/java/com/yd/dal/service/systemMessage/Impl/AclSystemMessageServiceImpl.java
0 → 100644
View file @
aa51ae7c
package
com
.
yd
.
dal
.
service
.
systemMessage
.
Impl
;
import
javax.annotation.Resource
;
import
org.springframework.stereotype.Service
;
import
com.yd.dal.entity.systemMessage.AclSystemMessage
;
import
com.yd.dal.mapper.systemMessage.AclSystemMessageMapper
;
import
com.yd.dal.service.systemMessage.AclSystemMessageService
;
@Service
(
"aclSystemMessageService"
)
public
class
AclSystemMessageServiceImpl
implements
AclSystemMessageService
{
@Resource
private
AclSystemMessageMapper
aclSystemMessageMapper
;
@Override
public
AclSystemMessage
findById
(
Long
id
)
{
return
aclSystemMessageMapper
.
selectByPrimaryKey
(
id
);
}
public
void
save
(
AclSystemMessage
aclSystemMessage
)
{
if
(
aclSystemMessage
.
getId
()
!=
null
){
aclSystemMessageMapper
.
insert
(
aclSystemMessage
);
}
else
{
aclSystemMessageMapper
.
updateByPrimaryKey
(
aclSystemMessage
);
}
}
@Override
public
void
update
(
AclSystemMessage
aclSystemMessage
)
{
aclSystemMessageMapper
.
updateByPrimaryKey
(
aclSystemMessage
);
}
}
yd-api/src/main/resources/mapper/customer/AclPractitionerMapper.xml
View file @
aa51ae7c
...
@@ -2161,4 +2161,23 @@
...
@@ -2161,4 +2161,23 @@
and t.is_active = 1
and t.is_active = 1
</select>
</select>
<select
id=
"findPractitionerInfoById"
resultMap=
"practitioner_info_map"
>
select
p.customer_id as customerId,
p.id as practitionerId,
p.name as name,
p.gender as gender,
p.subordinate_system_id as subordinateId,
p.wechat_id as weChatId,
p.qq_id as qqId,
p.practitioner_reg_no as practitionerRegNo,
p.mobile_no,
p.mentor_id mentorId,
c.yd_wechat_openid
from ag_acl_practitioner p
left join ag_acl_customer c on c.id = p.customer_id
where p.id = #{practitionerId}
and p.is_active = 1
</select>
</mapper>
</mapper>
yd-api/src/main/resources/mapper/systemMessage/AclSystemMessageMapper.xml
0 → 100644
View file @
aa51ae7c
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.yd.dal.mapper.systemMessage.AclSystemMessageMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"com.yd.dal.entity.systemMessage.AclSystemMessage"
>
<!--@mbg.generated-->
<!--@Table ag_acl_system_message-->
<id
column=
"id"
jdbcType=
"BIGINT"
property=
"id"
/>
<result
column=
"practitioner_id"
jdbcType=
"BIGINT"
property=
"practitionerId"
/>
<result
column=
"customer_id"
jdbcType=
"BIGINT"
property=
"customerId"
/>
<result
column=
"user_id"
jdbcType=
"BIGINT"
property=
"userId"
/>
<result
column=
"system_type"
jdbcType=
"INTEGER"
property=
"systemType"
/>
<result
column=
"type"
jdbcType=
"INTEGER"
property=
"type"
/>
<result
column=
"title"
jdbcType=
"VARCHAR"
property=
"title"
/>
<result
column=
"context"
jdbcType=
"VARCHAR"
property=
"context"
/>
<result
column=
"is_read"
jdbcType=
"INTEGER"
property=
"isRead"
/>
<result
column=
"is_active"
jdbcType=
"INTEGER"
property=
"isActive"
/>
<result
column=
"remark"
jdbcType=
"VARCHAR"
property=
"remark"
/>
<result
column=
"created_at"
jdbcType=
"TIMESTAMP"
property=
"createdAt"
/>
<result
column=
"created_by"
jdbcType=
"BIGINT"
property=
"createdBy"
/>
<result
column=
"updated_at"
jdbcType=
"TIMESTAMP"
property=
"updatedAt"
/>
<result
column=
"updated_by"
jdbcType=
"BIGINT"
property=
"updatedBy"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
<!--@mbg.generated-->
id, practitioner_id, customer_id, user_id, system_type, type, title, context,
is_read, is_active, remark,
created_at, created_by, updated_at, updated_by
</sql>
<select
id=
"selectByPrimaryKey"
parameterType=
"java.lang.Long"
resultMap=
"BaseResultMap"
>
<!--@mbg.generated-->
select
<include
refid=
"Base_Column_List"
/>
from ag_acl_system_message
where id = #{id,jdbcType=BIGINT}
</select>
<delete
id=
"deleteByPrimaryKey"
parameterType=
"java.lang.Long"
>
<!--@mbg.generated-->
delete from ag_acl_system_message
where id = #{id,jdbcType=BIGINT}
</delete>
<insert
id=
"insert"
keyColumn=
"id"
keyProperty=
"id"
parameterType=
"com.yd.dal.entity.systemMessage.AclSystemMessage"
useGeneratedKeys=
"true"
>
<!--@mbg.generated-->
insert into ag_acl_system_message (practitioner_id, customer_id, user_id, system_type, type, title, context,
is_read, is_active, remark,
created_at, created_by, updated_at, updated_by)
values (#{practitionerId,jdbcType=BIGINT}, #{customerId,jdbcType=BIGINT}, #{userId,jdbcType=BIGINT},
#{systemType,jdbcType=INTEGER},#{type,jdbcType=INTEGER},
#{title,jdbcType=VARCHAR}, #{context,jdbcType=VARCHAR},
#{isRead,jdbcType=INTEGER},#{isActive,jdbcType=INTEGER},
#{remark,jdbcType=VARCHAR},
#{createdAt,jdbcType=TIMESTAMP}, #{createdBy,jdbcType=BIGINT}, #{updatedAt,jdbcType=TIMESTAMP},
#{updatedBy,jdbcType=BIGINT})
</insert>
<update
id=
"updateByPrimaryKey"
parameterType=
"com.yd.dal.entity.systemMessage.AclSystemMessage"
>
<!--@mbg.generated-->
update ag_acl_system_message
set practitioner_id = #{practitionerId,jdbcType=BIGINT},
customer_id = #{customerId,jdbcType=BIGINT},
user_id = #{userId,jdbcType=BIGINT},
system_type = #{systemType,jdbcType=INTEGER},
type = #{type,jdbcType=INTEGER},
title = #{title,jdbcType=VARCHAR},
context= #{context,jdbcType=VARCHAR},
is_read = #{isRead,jdbcType=INTEGER},
is_active = #{isActive,jdbcType=INTEGER},
remark = #{remark,jdbcType=VARCHAR},
created_at = #{createdAt,jdbcType=TIMESTAMP},
created_by = #{createdBy,jdbcType=BIGINT},
updated_at = #{updatedAt,jdbcType=TIMESTAMP},
updated_by = #{updatedBy,jdbcType=BIGINT}
where id = #{id,jdbcType=BIGINT}
</update>
</mapper>
\ No newline at end of file
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