Commit 205206b7 by jianan

电子报聘审批通知3

parent e5c3885e
......@@ -433,12 +433,14 @@ public class AgmsHiringServiceImpl implements AgmsHiringService {
private void noticeNextStep(MdPractitionerHiringApproveSteps nextStep, Long basicInfoId) {
AclPractitionerHiringBasicInfo basicInfo = aclPractitionerHiringBasicInfoDalService.findById(basicInfoId);
AclPractitionerHiringMembership membership = membershipMapper.selectByHiringBasicInfoId(basicInfoId);
// 查询辅导人所在S1,S2,S3
AclPractitionerHiringMembership hiringMemberShip = practitionerHiringDalService.queryHiringMemberShip(basicInfoId);
// 1.获取下一步审批人的手机号
String[] mobileNoArray = new String [1];
// 1.1 如果是体系负责人
if (StringUtils.isNotEmpty(nextStep.getApproveRole())) {
Long practitionerId = membership.getApprovedBy();
Long practitionerId = hiringMemberShip.getApprovedBy();
AclPractitioner aclPractitioner = aclPractitionerMapper.selectByPrimaryKey(practitionerId);
mobileNoArray[0] = aclPractitioner.getMobileNo();
} else {
......@@ -449,29 +451,45 @@ public class AgmsHiringServiceImpl implements AgmsHiringService {
List<PractitionerInfo> practitionerList = aclPractitionerDalService.findPractitionerInfoByMobileList(Arrays.asList(mobileNoArray));
// 2.报聘人组织关系, 姓名
StringBuilder name2 = new StringBuilder();
String s3SubordinateSystemName = hiringMemberShip.getS3SubordinateSystemName();
String s2SubordinateSystemName = hiringMemberShip.getS2SubordinateSystemName();
String s1SubordinateSystemName = hiringMemberShip.getS1SubordinateSystemName();
String s3SubordinateSystemName = membership.getS3SubordinateSystemName();
String s2SubordinateSystemName = membership.getS2SubordinateSystemName();
String s1SubordinateSystemName = membership.getS1SubordinateSystemName();
boolean flag = false;
if (StringUtils.isNotEmpty(s3SubordinateSystemName)) {
name2.append(s3SubordinateSystemName).append("纵队");
name2.append(s3SubordinateSystemName);
if (s3SubordinateSystemName.indexOf("纵队") < 0) {
name2.append("纵队");
}
flag = true;
}
if (StringUtils.isNotEmpty(s2SubordinateSystemName)) {
name2.append(s2SubordinateSystemName).append("体系");
name2.append(s2SubordinateSystemName);
if (s2SubordinateSystemName.indexOf("体系") < 0) {
name2.append("体系");
}
flag = true;
}
if (StringUtils.isNotEmpty(s1SubordinateSystemName)) {
name2.append(s1SubordinateSystemName).append("分部");
name2.append(s1SubordinateSystemName);
if (s1SubordinateSystemName.indexOf("分部") < 0) {
name2.append("分部");
}
flag = true;
}
if (flag) {
name2.append("的");
}
name2.append("的").append(basicInfo.getName());
name2.append(basicInfo.getName());
// 发送短信通知下一位审批人进行审批
this.noticeSendSMS(name2.toString(), practitionerList, basicInfo);
// this.noticeSendSMS(name2.toString(), practitionerList, basicInfo);
// 公众号推送通知下一位审批人进行审批
this.noticeSendWeChatMsg(name2.toString(), practitionerList, basicInfo);
}
private void noticeSendWeChatMsg(String hiringName, List<PractitionerInfo> practitionerList, AclPractitionerHiringBasicInfo basicInfo) {
//TODO 配置数据库
// String templateId = systemConfigService.getSingleConfigValue("TENCENT_WECHAT_TEMPLATE_ID_XB");
// String jumpUrl = systemConfigService.getSingleConfigValue("hiringApprove_page_url") + orderId;
String templateId = "4_GL7QFaFxucU4K35-2dy6RcjuPE6eQjJyf_2BKddx4";
......@@ -493,7 +511,7 @@ public class AgmsHiringServiceImpl implements AgmsHiringService {
dataInfo.setKeyword2(keyword2);
dataInfo.setRemark(remark);
//TODO 调微信接口
// 调微信接口
if (StringUtils.isNotBlank(templateId)) {
SendTemplateRequest sendTemplateRequest = new SendTemplateRequest();
sendTemplateRequest.setTemplateId(templateId);
......@@ -501,12 +519,14 @@ public class AgmsHiringServiceImpl implements AgmsHiringService {
sendTemplateRequest.setUrl(jumpUrl);
for (PractitionerInfo practitionerInfo : practitionerList) {
// openId
sendTemplateRequest.setToUser(practitionerInfo.getYdWechatOpenid());
// 审批人姓名
first.setValue(firstValue.replace("name", practitionerInfo.getName()));
// 微信通知
wechatInterfService.sendTemplateMessage(sendTemplateRequest);
// openId不为null, 执行
if (StringUtils.isNotBlank(practitionerInfo.getYdWechatOpenid())) {
sendTemplateRequest.setToUser(practitionerInfo.getYdWechatOpenid());
// 审批人姓名
first.setValue(firstValue.replace("name", practitionerInfo.getName()));
// 微信通知
wechatInterfService.sendTemplateMessage(sendTemplateRequest);
}
}
}
}
......
......@@ -644,7 +644,7 @@ public class PractitionerHiringServiceImpl implements PractitionerHiringService
//基本信息
AclPractitionerHiringBasicInfo hiringBasicInfo = basicInfoMapper.selectByPrimaryKey(hiringBasicInfoId);
//组织关系
AclPractitionerHiringMembership hiringMemberShip = this.queryHiringMemberShip(hiringBasicInfoId);
AclPractitionerHiringMembership hiringMemberShip = practitionerHiringDalService.queryHiringMemberShip(hiringBasicInfoId);
//工作经历
List<AclPractitionerHiringWorkingExperience> hiringWorkingExperienceList = workingExperienceMapper.selectByHiringBasicInfoId(hiringBasicInfoId);
//申请名目
......@@ -671,59 +671,6 @@ public class PractitionerHiringServiceImpl implements PractitionerHiringService
return resp;
}
private AclPractitionerHiringMembership queryHiringMemberShip(Long hiringBasicInfoId) {
AclPractitionerHiringMembership hiringMemberShip = membershipMapper.selectByHiringBasicInfoId(hiringBasicInfoId);
if (hiringMemberShip.getMentorPractitionerId() == null) {
return hiringMemberShip;
}
AclPractitioner mentor = aclPractitionerDALService.findPractitionerById(hiringMemberShip.getMentorPractitionerId());
// 查询并显示“辅导人”所属的S1分部,分部负责人,S2体系,体系负责人,S3纵队,纵队负责人,没有的显示空
List<AclPractitionerSubordinateSystem> subordinateSystemList = aclPractitionerSubordinateSystemDALService.findAll();
Map<Long, AclPractitionerSubordinateSystem> subordinateSystemMap = new HashMap<>();
subordinateSystemList.forEach(i -> subordinateSystemMap.put(i.getId(), i));
Map<Long, AclPractitioner> aclPractitionerMap = aclPractitionerDALService.findAllMap();
//所属体系
AclPractitionerSubordinateSystem subordinateSystem = null;
//体系团队长
AclPractitioner systemOwner = null;
if (mentor.getS1Id() != null) {
subordinateSystem = subordinateSystemMap.get(mentor.getS1Id());
if (subordinateSystem != null) {
hiringMemberShip.setS1SubordinateSystemName(subordinateSystem.getName());
systemOwner = aclPractitionerMap.get(subordinateSystem.getOwnerPractitionerId());
hiringMemberShip.setS1TeamLeaderName(systemOwner != null ? systemOwner.getName() : null);
hiringMemberShip.setS1TeamLeaderId(systemOwner != null ? systemOwner.getId() : null);
}
}
if (null != mentor.getS2Id()) {
subordinateSystem = subordinateSystemMap.get(mentor.getS2Id());
if (subordinateSystem != null) {
hiringMemberShip.setS2SubordinateSystemName(subordinateSystem != null ? subordinateSystem.getName() : null);
systemOwner = aclPractitionerMap.get(subordinateSystem.getOwnerPractitionerId());
hiringMemberShip.setS2TeamLeaderName(systemOwner != null ? systemOwner.getName() : null);
hiringMemberShip.setS2TeamLeaderId(systemOwner != null ? systemOwner.getId() : null);
}
}
if (null != mentor.getS3Id()) {
subordinateSystem = subordinateSystemMap.get(mentor.getS3Id());
if (subordinateSystem != null) {
hiringMemberShip.setS3SubordinateSystemName(subordinateSystem != null ? subordinateSystem.getName() : null);
systemOwner = aclPractitionerMap.get(subordinateSystem.getOwnerPractitionerId());
hiringMemberShip.setS3TeamLeaderName(systemOwner != null ? systemOwner.getName() : null);
hiringMemberShip.setS3TeamLeaderId(systemOwner != null ? systemOwner.getId() : null);
}
}
return hiringMemberShip;
}
@Override
public CommonResultResponseVO saveDigitalSignatures(SaveDigitalSignaturesRequestVO requestVO) {
CommonResultResponseVO resp = new CommonResultResponseVO();
......@@ -992,7 +939,7 @@ public class PractitionerHiringServiceImpl implements PractitionerHiringService
return;
}
// 查询辅导人所在S1,S2,S3
AclPractitionerHiringMembership hiringMemberShip = this.queryHiringMemberShip(hiringBasicInfoId);
AclPractitionerHiringMembership hiringMemberShip = practitionerHiringDalService.queryHiringMemberShip(hiringBasicInfoId);
Long s1TeamLeaderId = hiringMemberShip.getS1TeamLeaderId();
Long s2TeamLeaderId = hiringMemberShip.getS2TeamLeaderId();
......
package com.yd.dal.service.practitioner;
import com.yd.api.practitioner.vo.hiring.PractitionerHiringContractTerms;
import com.yd.dal.entity.customer.AclPractitionerHiringMembership;
import com.yd.dal.entity.practitioner.hiring.*;
import java.util.List;
......@@ -98,4 +99,11 @@ public interface PractitionerHiringDALService {
Integer getNextStepSeqByApproveStatus(String approveStatus);
List<Long> queryBasicInfoIdList(List<Long> list);
/**
* 查询报聘经纪人的组织架构
* @param hiringBasicInfoId
* @return
*/
AclPractitionerHiringMembership queryHiringMemberShip(Long hiringBasicInfoId);
}
......@@ -4,6 +4,7 @@ import com.yd.api.practitioner.vo.hiring.PractitionerHiringContractTerms;
import com.yd.dal.entity.agms.hiring.PractitionerHiringListInfo;
import com.yd.dal.entity.customer.AclPractitioner;
import com.yd.dal.entity.customer.AclPractitionerHiringMembership;
import com.yd.dal.entity.customer.AclPractitionerSubordinateSystem;
import com.yd.dal.entity.customer.CustomerFileUpload;
import com.yd.dal.entity.customer.practitioner.PractitionerInfo;
import com.yd.dal.entity.meta.MdPractitionerHiringApproveSteps;
......@@ -14,6 +15,7 @@ import com.yd.dal.mapper.customer.AclPractitionerMapper;
import com.yd.dal.mapper.practitioner.PractitionerHiringMapper;
import com.yd.dal.service.customer.AclFileUploadDALService;
import com.yd.dal.service.customer.AclPractitionerDALService;
import com.yd.dal.service.customer.AclPractitionerSubordinateSystemDALService;
import com.yd.dal.service.meta.MdPractitionerHiringApproveStepsDALService;
import com.yd.dal.service.practitioner.PractitionerHiringDALService;
import com.yd.dal.service.user.AclUserDALService;
......@@ -51,6 +53,8 @@ public class PractitionerHiringDALServiceImpl implements PractitionerHiringDALSe
private SystemConfigService systemConfigService;
@Autowired
private AclUserDALService aclUserDalService;
@Autowired
private AclPractitionerSubordinateSystemDALService aclPractitionerSubordinateSystemDALService;
@Override
public List<HiringListInfo> findHiringList(Long practitionerId, Long approvingStatus) {
......@@ -327,4 +331,57 @@ public class PractitionerHiringDALServiceImpl implements PractitionerHiringDALSe
public List<Long> queryBasicInfoIdList(List<Long> list) {
return practitionerHiringMapper.queryBasicInfoIdList(list);
}
@Override
public AclPractitionerHiringMembership queryHiringMemberShip(Long hiringBasicInfoId) {
AclPractitionerHiringMembership hiringMemberShip = membershipMapper.selectByHiringBasicInfoId(hiringBasicInfoId);
if (hiringMemberShip.getMentorPractitionerId() == null) {
return hiringMemberShip;
}
AclPractitioner mentor = aclPractitionerDALService.findPractitionerById(hiringMemberShip.getMentorPractitionerId());
// 查询并显示“辅导人”所属的S1分部,分部负责人,S2体系,体系负责人,S3纵队,纵队负责人,没有的显示空
List<AclPractitionerSubordinateSystem> subordinateSystemList = aclPractitionerSubordinateSystemDALService.findAll();
Map<Long, AclPractitionerSubordinateSystem> subordinateSystemMap = new HashMap<>();
subordinateSystemList.forEach(i -> subordinateSystemMap.put(i.getId(), i));
Map<Long, AclPractitioner> aclPractitionerMap = aclPractitionerDALService.findAllMap();
//所属体系
AclPractitionerSubordinateSystem subordinateSystem = null;
//体系团队长
AclPractitioner systemOwner = null;
if (mentor.getS1Id() != null) {
subordinateSystem = subordinateSystemMap.get(mentor.getS1Id());
if (subordinateSystem != null) {
hiringMemberShip.setS1SubordinateSystemName(subordinateSystem.getName());
systemOwner = aclPractitionerMap.get(subordinateSystem.getOwnerPractitionerId());
hiringMemberShip.setS1TeamLeaderName(systemOwner != null ? systemOwner.getName() : null);
hiringMemberShip.setS1TeamLeaderId(systemOwner != null ? systemOwner.getId() : null);
}
}
if (null != mentor.getS2Id()) {
subordinateSystem = subordinateSystemMap.get(mentor.getS2Id());
if (subordinateSystem != null) {
hiringMemberShip.setS2SubordinateSystemName(subordinateSystem != null ? subordinateSystem.getName() : null);
systemOwner = aclPractitionerMap.get(subordinateSystem.getOwnerPractitionerId());
hiringMemberShip.setS2TeamLeaderName(systemOwner != null ? systemOwner.getName() : null);
hiringMemberShip.setS2TeamLeaderId(systemOwner != null ? systemOwner.getId() : null);
}
}
if (null != mentor.getS3Id()) {
subordinateSystem = subordinateSystemMap.get(mentor.getS3Id());
if (subordinateSystem != null) {
hiringMemberShip.setS3SubordinateSystemName(subordinateSystem != null ? subordinateSystem.getName() : null);
systemOwner = aclPractitionerMap.get(subordinateSystem.getOwnerPractitionerId());
hiringMemberShip.setS3TeamLeaderName(systemOwner != null ? systemOwner.getName() : null);
hiringMemberShip.setS3TeamLeaderId(systemOwner != null ? systemOwner.getId() : null);
}
}
return hiringMemberShip;
}
}
package com.yd.rmi.tencent.wechatinterf.service.impl;
import com.yd.rmi.cache.SystemConfigService;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.yd.dal.service.transaction.TranLogDALService;
import com.yd.rmi.cache.SystemConfigService;
import com.yd.rmi.tencent.wechat.vo.accesstoken.AccessTokenByCodeRequest;
import com.yd.rmi.tencent.wechat.vo.accesstoken.AccessTokenByCodeResponse;
import com.yd.rmi.tencent.wechatinterf.pojo.accesstoken.AccessTokenRequest;
......@@ -18,6 +20,7 @@ import com.yd.rmi.tencent.wechatinterf.pojo.unifiedorder.UnifiedorderResponse;
import com.yd.rmi.tencent.wechatinterf.service.WechatInterfService;
import com.yd.util.CommonUtil;
import com.yd.util.EncryptUtil;
import com.yd.util.HttpUtil;
import com.yd.util.JsonUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -376,17 +379,42 @@ public class WechatInterfServiceImpl implements WechatInterfService {
@Override
public void sendTemplateMessage(SendTemplateRequest sendTemplateRequest) {
String appId = systemConfigService.getSingleConfigValue("YD-TENCENT_WECHAT_APPID");
String secret = systemConfigService.getSingleConfigValue("YD-TENCENT_WECHAT_APP_SECRET");
String grantType = systemConfigService.getSingleConfigValue("TENCENT_WECHAT_TOKEN_GRANT_TYPE");
// TokenRequest tokenRequest = new TokenRequest();
// tokenRequest.setAppid(appId);
// tokenRequest.setSecret(secret);
// tokenRequest.setGrant_type(grantType);
// TokenResponse token = this.token(tokenRequest);
TokenResponse token = this.token(new TokenRequest());
AccessTokenRequest accessTokenRequest = new AccessTokenRequest();
accessTokenRequest.setAppid(appId);
accessTokenRequest.setSecret(secret);
accessTokenRequest.setGrant_type(grantType);
String token = getAccessTokenByDEV(accessTokenRequest);
String url = systemConfigService.getSingleConfigValue("TENCENT_WECHAT_TEMPLATE_SEND_URL") + token.getAccess_token();
String url = systemConfigService.getSingleConfigValue("TENCENT_WECHAT_TEMPLATE_SEND_URL") + token;
logger.error("【》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》发送微信模板消息开始");
tranLogDALService.logDB("wechat", "sendTemplateMessage", "in", sendTemplateRequest.getToUser(), url, null, null);
String responseStr = weChatTransaction(url, null);
String responseStr = weChatTransaction(url, JsonUtil.objToJson(sendTemplateRequest));
tranLogDALService.logDB("wechat", "sendTemplateMessage", "out", sendTemplateRequest.getToUser(), responseStr, null, null);
}
/**
* 在本地开发时,通过dev去获取access_token
* @param accessTokenRequest
* @return
*/
private String getAccessTokenByDEV(AccessTokenRequest accessTokenRequest) {
String requestJson = JsonUtil.objToJson(accessTokenRequest);
String responseJson = HttpUtil.postForJson("https://mdev.zuihuibi.cn/api/getAccessToken",requestJson);
JSONObject result = JSON.parseObject(responseJson);
return result.getString("data");
}
/**
* 微信接口交互
*/
@Override
......
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