Commit c577c6ac by wenyang Committed by akexiu

经纪人名片3.经纪人申请开通邮箱

parent e7d772e2
package com.yd.api.practitioner;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.yd.api.practitioner.service.PractitionerBasicInfoService;
import com.yd.api.practitioner.service.PractitionerService;
import com.yd.api.practitioner.service.ScheduleTrackService;
import com.yd.api.practitioner.vo.PractitionerIdRequestVO;
import com.yd.api.practitioner.vo.businessCard.PractitionerApplyEmailRequestVO;
import com.yd.api.practitioner.vo.businessCard.PractitionerBusinessCardRequestVO;
import com.yd.api.practitioner.vo.businessCard.PractitionerBusinessCardResponseVO;
import com.yd.api.practitioner.vo.commitment.QueryCommitmentByPractitionerIdResponseVO;
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.PractitionerLoginRequestVO;
import com.yd.api.practitioner.vo.login.PractitionerLoginResponseVO;
......@@ -16,7 +30,25 @@ import com.yd.api.practitioner.vo.media.MediaGetReqVO;
import com.yd.api.practitioner.vo.media.MediaGetRespVO;
import com.yd.api.practitioner.vo.n22.QuerySalaryDetailRequestVO;
import com.yd.api.practitioner.vo.n22.QuerySalaryDetailResponseVO;
import com.yd.api.practitioner.vo.opportunity.*;
import com.yd.api.practitioner.vo.opportunity.ApplyForExpertSupportRequestVO;
import com.yd.api.practitioner.vo.opportunity.ApplyForExpertSupportResponseVO;
import com.yd.api.practitioner.vo.opportunity.OpportunityDeleteRequestVO;
import com.yd.api.practitioner.vo.opportunity.OpportunityStatisticsRequestVO;
import com.yd.api.practitioner.vo.opportunity.OpportunityStatisticsResponseVO;
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.SalesPerformanceForecastListQueryRequestVO;
import com.yd.api.practitioner.vo.opportunity.SalesPerformanceForecastListQueryResponseVO;
import com.yd.api.practitioner.vo.opportunity.SalesScoreDetailQueryRequestVO;
import com.yd.api.practitioner.vo.opportunity.SalesScoreDetailQueryResponseVO;
import com.yd.api.practitioner.vo.organization.OrganizationQueryRequestVO;
import com.yd.api.practitioner.vo.organization.OrganizationQueryResponseVO;
import com.yd.api.practitioner.vo.payscale.PayScalePdfRequestVO;
......@@ -27,28 +59,68 @@ import com.yd.api.practitioner.vo.policy.PolicyListQueryRequestVO;
import com.yd.api.practitioner.vo.policy.PolicyListQueryResponseVO;
import com.yd.api.practitioner.vo.policy.policyinfoquery.PolicyInfoQueryRequestVO;
import com.yd.api.practitioner.vo.policy.policyinfoquery.PolicyInfoQueryResponseVO;
import com.yd.api.practitioner.vo.practitionerCustomer.*;
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.PractitionerRankRequestVO;
import com.yd.api.practitioner.vo.rank.PractitionerRankResponseVO;
import com.yd.api.practitioner.vo.recruit.*;
import com.yd.api.practitioner.vo.salestarget.*;
import com.yd.api.practitioner.vo.sechedule.*;
import com.yd.api.practitioner.vo.setting.*;
import com.yd.api.practitioner.vo.recruit.AddRecruitTrackRequestVO;
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.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.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.RecruitTrackQueryRequestVO;
import com.yd.api.practitioner.vo.recruit.RecruitTrackQueryResponseVO;
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.AddScheduleTrackResponseVO;
import com.yd.api.practitioner.vo.sechedule.DeleteScheduleByIdResponseVO;
import com.yd.api.practitioner.vo.sechedule.DeleteScheduleTrackByIdRequestVO;
import com.yd.api.practitioner.vo.sechedule.QueryPEPScoreDetailRequestVO;
import com.yd.api.practitioner.vo.sechedule.QueryPEPScoreDetailResponseVO;
import com.yd.api.practitioner.vo.sechedule.QueryPEPScoreRequestVO;
import com.yd.api.practitioner.vo.sechedule.QueryPEPScoreResponseVO;
import com.yd.api.practitioner.vo.sechedule.QueryScheduleTrackListRequestVO;
import com.yd.api.practitioner.vo.sechedule.QueryScheduleTrackListResponseVO;
import com.yd.api.practitioner.vo.setting.ImgDeleteRequestVO;
import com.yd.api.practitioner.vo.setting.ImgDeleteResponseVO;
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.QueryTeamMemberDetailRequestVO;
import com.yd.api.practitioner.vo.subordinate.QueryTeamMemberDetailResponseVO;
import com.yd.api.practitioner.vo.subordinate.SubordinateSystemMemberQueryRequestVO;
import com.yd.api.practitioner.vo.subordinate.SubordinateSystemMemberQueryResponseVO;
import com.yd.api.practitioner.vo.unionSales.SignUnionSalesRequestVO;
import com.yd.api.result.CommonResultIDResponseVO;
import com.yd.api.result.CommonResultResponseVO;
import com.yd.api.result.IDRequestVO;
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.SearchStaffSalaryDetailsResponseBody;
import com.yd.rmi.n22.staff.service.N22StaffService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
@Controller
......@@ -788,4 +860,19 @@ public class PractitionerController {
result.setData(responseVO);
return result;
}
/**
* 经纪人申请开通邮箱
* @param PractitionerApplyEmailRequestVO
* @return CommonResultResponseVO
* @author Yan Wenyang
*/
@RequestMapping("/applyEmail")
public Object applyEmail(@RequestBody PractitionerApplyEmailRequestVO requestVO) {
JsonResult result = new JsonResult();
CommonResultResponseVO responseVO = practitionerService.applyEmail(requestVO);
result.addResult(responseVO);
result.setData(responseVO);
return result;
}
}
package com.yd.api.practitioner.service;
import com.yd.api.practitioner.vo.PractitionerIdRequestVO;
import com.yd.api.practitioner.vo.businessCard.PractitionerApplyEmailRequestVO;
import com.yd.api.practitioner.vo.businessCard.PractitionerBusinessCardRequestVO;
import com.yd.api.practitioner.vo.businessCard.PractitionerBusinessCardResponseVO;
import com.yd.api.practitioner.vo.commitment.QueryCommitmentByPractitionerIdResponseVO;
......@@ -22,7 +23,9 @@ import com.yd.api.practitioner.vo.subordinate.SubordinateSystemMemberQueryReques
import com.yd.api.practitioner.vo.subordinate.SubordinateSystemMemberQueryResponseVO;
import com.yd.api.practitioner.vo.unionSales.SignUnionSalesRequestVO;
import com.yd.api.result.CommonResultIDResponseVO;
import com.yd.api.result.CommonResultResponseVO;
import com.yd.api.result.IDRequestVO;
import com.yd.api.result.JsonResult;
import com.yd.dal.entity.customer.AgPoInformed;
import org.springframework.stereotype.Service;
......@@ -292,5 +295,13 @@ public interface PractitionerService {
* @author Yan Wenyang
*/
PractitionerBusinessCardResponseVO businessCard(PractitionerBusinessCardRequestVO requestVO);
/**
* 经纪人申请开通邮箱
* @param PractitionerApplyEmailRequestVO
* @return CommonResultResponseVO
* @author Yan Wenyang
*/
CommonResultResponseVO applyEmail(PractitionerApplyEmailRequestVO requestVO);
}
......@@ -68,6 +68,7 @@ import com.yd.api.customer.vo.register.RegisterRequestVO;
import com.yd.api.customer.vo.register.RegisterResponseVO;
import com.yd.api.practitioner.vo.PractitionerIdRequestVO;
import com.yd.api.practitioner.vo.businessCard.Certificate;
import com.yd.api.practitioner.vo.businessCard.PractitionerApplyEmailRequestVO;
import com.yd.api.practitioner.vo.businessCard.PractitionerBusinessCardRequestVO;
import com.yd.api.practitioner.vo.businessCard.PractitionerBusinessCardResponseVO;
import com.yd.api.practitioner.vo.commitment.QueryCommitmentByPractitionerIdResponseVO;
......@@ -169,6 +170,7 @@ import com.yd.api.practitioner.vo.unionSales.SignUnionSalesRequestVO;
import com.yd.api.practitioner.vo.unionSales.UnionSalesPractitionerInfo;
import com.yd.api.result.CommonResult;
import com.yd.api.result.CommonResultIDResponseVO;
import com.yd.api.result.CommonResultResponseVO;
import com.yd.api.result.IDRequestVO;
import com.yd.dal.entity.customer.AclCustomer;
import com.yd.dal.entity.customer.AclCustomerLog;
......@@ -5157,4 +5159,85 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
return resp;
}
/**
* 经纪人申请开通邮箱
* @param PractitionerApplyEmailRequestVO
* @return CommonResultResponseVO
* @author Yan Wenyang
*/
public CommonResultResponseVO applyEmail(PractitionerApplyEmailRequestVO requestVO){
CommonResultResponseVO resp = new CommonResultResponseVO();
Long practitionerId = requestVO.getPractitionerId();
if (practitionerId == null) {
resp.setCommonResult(new CommonResult(false, "经纪人ID不可为空"));
return resp;
}
if (Strings.isNullOrEmpty(requestVO.getEmail())) {
resp.setCommonResult(new CommonResult(false, "经纪人申请的邮箱地址不可为空"));
return resp;
}
//等保调整
List<AclCustomer> findByObjSortable = aclPractitionerDALService.getAclCustomers(practitionerId, null);
if (null == findByObjSortable) {
resp.setCommonResult(new CommonResult(false, ZHBErrorConfig.getErrorInfo("630028")));
return resp;
}
AclPractitioner practitioner = aclPractitionerDALService.findPractitionerById(practitionerId);
if(practitioner != null && practitioner.getIsActive() != null && practitioner.getIsActive().intValue() == 1){
if(practitioner.getEmailIsActive() != null && practitioner.getEmailIsActive().intValue() == 1){
resp.setCommonResult(new CommonResult(false, "经纪人银盾保险专属办公邮箱已开通,无需在申请!"));
return resp;
}
if(!requestVO.getEmail().equals(practitioner.getEmail())){
resp.setCommonResult(new CommonResult(false, "经纪人申请的邮箱与系统邮箱不一致,请联系管理员确认!"));
return resp;
}
try {
//发送邮件给客服,同步跟进
String toAddress = systemConfigService.getSingleConfigValue("ApplyEmailToAddress");
String ccAddress = systemConfigService.getSingleConfigValue("ApplyEmailCCAddresses");
AclPractitioner aclPractitioner = aclPractitionerDALService.findById(practitionerId);
if(aclPractitioner != null){
String subject = "经纪人【"+practitioner.getName()+"】申请开通银盾保险专属办公邮箱";
String messageText = "尊敬的银盾管理员,您好: </br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ";
boolean boole = false;
if(aclPractitioner.getS3Id() != null){
AclPractitionerSubordinateSystem subordinateInfo = aclPractitionerSubordinateSystemDALService.findById(aclPractitioner.getS3Id());
if (subordinateInfo != null) {
messageText += subordinateInfo.getName() + "纵队-";
boole = false;
}
}
if(aclPractitioner.getS2Id() != null){
AclPractitionerSubordinateSystem subordinateInfo = aclPractitionerSubordinateSystemDALService.findById(aclPractitioner.getS2Id());
if (subordinateInfo != null) {
messageText += subordinateInfo.getName() + "体系-";
boole = false;
}
}
if(aclPractitioner.getS1Id() != null){
AclPractitionerSubordinateSystem subordinateInfo = aclPractitionerSubordinateSystemDALService.findById(aclPractitioner.getS1Id());
if (subordinateInfo != null) {
messageText += subordinateInfo.getName() + "分部";
boole = true;
}
}
if(!boole){
messageText = messageText.substring(0,messageText.length()-1);
}
messageText += "的经纪人【"+practitioner.getName()+"】申请开通银盾保险专属办公邮箱【"+practitioner.getEmail()+"】,请您在2个工作日内帮忙开通,谢谢!";
mailService.sysNotify(toAddress, ccAddress.split(","), subject, messageText);
resp.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
}
} catch (Exception e) {
e.printStackTrace();
resp.setCommonResult(new CommonResult(false, "邮箱申请失败,请联系管理人员,谢谢!"));
}
}else{
resp.setCommonResult(new CommonResult(false, "没有查到该经纪人"));
}
return resp;
}
}
......@@ -25,6 +25,7 @@ public class PractitionerBusinessCardResponseVO {
private String insurerUser;//保险用户
private String mobileNo;//手机号
private String email;//电子邮件
private Integer emailIsActive;//经纪人邮箱是否开通(0=No, 1=Yes)
private CommonResult commonResult;
}
......@@ -254,6 +254,10 @@ public class AclPractitioner {
* 电子邮件
*/
private String email;
/**
* 经纪人邮箱是否开通(0=No, 1=Yes)
*/
private Integer emailIsActive;
/**
* 育成人id
......
......@@ -55,6 +55,8 @@
<result column="s1_id" jdbcType="BIGINT" property="s1Id" />
<result column="s2_id" jdbcType="BIGINT" property="s2Id" />
<result column="s3_id" jdbcType="BIGINT" property="s3Id" />
<result column="email" jdbcType="VARCHAR" property="email" />
<result column="email_is_active" jdbcType="INTEGER" property="emailIsActive" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
......@@ -65,7 +67,7 @@
province_id, province_name, city_id, city_name, cert_list, bio_intro, bio_intro_two, wechat_id,
qq_id, is_profile_show, is_name_show, is_mobile_show, education_level, graduated_university,
mentor_id, introducer_id, gender, contract_oss_path, hiring_basic_info_id, can_login_dyd,
can_see_salary_list,raise_id,s1_id,s2_id,s3_id
can_see_salary_list,raise_id,s1_id,s2_id,s3_id,email,email_is_active
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
<!--@mbg.generated-->
......@@ -2082,7 +2084,7 @@
ps.practitioner_level,mdo.drop_option_name levelName,mdo.drop_option_code levelCode,mdo.drop_option_remark levelNameEn,fu.file_path wxQRImgUrl,
t.insurer_id insurerId,CONCAT(i.name,IFNULL(ib.branch_name,ibd.name)) insurerName, i.name_abbre insurerAbbre,
ifnull(ib.address,ibd.address) insurerAddress,
t.mobile_no mobileNo,t.email email
t.mobile_no mobileNo,t.email email,t.email_is_active emailIsActive
from ag_acl_practitioner t
left join ag_acl_insurer i on i.id=t.insurer_id
left join ag_acl_insurer_branch ib on ib.id=t.insurer_branch_id
......@@ -2093,7 +2095,7 @@
where t.id = #{practitionerId} and t.is_active='1'
</select>
<select id="findCertificate" resultType="com.yd.api.practitioner.vo.businessCard.Certificate">
<select id="findCertificate" resultType="com.yd.api.practitioner.vo.businessCard.Certificate">
select
t.id id,
SUBSTRING_INDEX(t.cert_name,'-',-1) certName,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment