Commit c441896f by jianan

经纪人报聘个人声明,合同文档确认

parent 96914641
...@@ -110,4 +110,30 @@ public class PractitionerHiringController { ...@@ -110,4 +110,30 @@ public class PractitionerHiringController {
return result; return result;
} }
/**
* 保存报聘经纪人个人声明
*
*/
@RequestMapping("/savePersonalStatements")
public Object savePersonalStatements(@RequestBody SavePersonalStatementsRequestVO requestVO){
JsonResult result = new JsonResult();
SavePersonalStatementsResponseVO responseVO = practitionerHiringService.savePersonalStatements(requestVO);
result.addResult(responseVO);
result.setData(responseVO);
return result;
}
/**
* 保存报聘经纪人合同文档确认
*
*/
@RequestMapping("/saveContractTermsConfirms")
public Object saveContractTermsConfirms(@RequestBody SaveContractTermsConfirmsRequestVO requestVO){
JsonResult result = new JsonResult();
SaveContractTermsConfirmsResponseVO responseVO = practitionerHiringService.saveContractTermsConfirms(requestVO);
result.addResult(responseVO);
result.setData(responseVO);
return result;
}
} }
\ No newline at end of file
...@@ -19,4 +19,8 @@ public interface PractitionerHiringService { ...@@ -19,4 +19,8 @@ public interface PractitionerHiringService {
SaveIDPictureResponseVO saveIDPicture(SaveIDPictureRequestVO requestVO); SaveIDPictureResponseVO saveIDPicture(SaveIDPictureRequestVO requestVO);
SaveLastGraduateGradeResponseVO saveLastGraduateGrade(SaveLastGraduateGradeRequestVO requestVO); SaveLastGraduateGradeResponseVO saveLastGraduateGrade(SaveLastGraduateGradeRequestVO requestVO);
SavePersonalStatementsResponseVO savePersonalStatements(SavePersonalStatementsRequestVO requestVO);
SaveContractTermsConfirmsResponseVO saveContractTermsConfirms(SaveContractTermsConfirmsRequestVO requestVO);
} }
...@@ -3,15 +3,10 @@ package com.yd.api.practitioner.service.impl; ...@@ -3,15 +3,10 @@ package com.yd.api.practitioner.service.impl;
import com.yd.api.practitioner.service.PractitionerHiringService; import com.yd.api.practitioner.service.PractitionerHiringService;
import com.yd.api.practitioner.vo.hiring.*; import com.yd.api.practitioner.vo.hiring.*;
import com.yd.api.result.CommonResult; import com.yd.api.result.CommonResult;
import com.yd.dal.entity.customer.AclPractitionerHiringBasicInfo; import com.yd.dal.entity.customer.*;
import com.yd.dal.entity.customer.AclPractitionerHiringMembership; import com.yd.dal.mapper.customer.*;
import com.yd.dal.entity.customer.AclPractitionerHiringWorkingExperience; import com.yd.rmi.ali.oss.service.OssService;
import com.yd.dal.mapper.customer.AclPractitionerHiringBasicInfoMapper;
import com.yd.dal.mapper.customer.AclPractitionerHiringMembershipMapper;
import com.yd.dal.mapper.customer.AclPractitionerHiringWorkingExperienceMapper;
import com.yd.rmi.tencent.wechat.service.WechatService;
import com.yd.rmi.tencent.wechatinterf.pojo.ticket.TicketRequest;
import com.yd.rmi.tencent.wechatinterf.pojo.token.TokenRequest;
import com.yd.util.CommonUtil; import com.yd.util.CommonUtil;
import com.yd.util.HttpUtil; import com.yd.util.HttpUtil;
import com.yd.util.config.ZHBErrorConfig; import com.yd.util.config.ZHBErrorConfig;
...@@ -20,9 +15,11 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -20,9 +15,11 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.imageio.ImageIO; import javax.imageio.ImageIO;
import java.awt.*; import java.awt.image.BufferedImage;
import java.io.IOException; import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.InputStream; import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -32,13 +29,17 @@ import java.util.Map; ...@@ -32,13 +29,17 @@ import java.util.Map;
public class PractitionerHiringServiceImpl implements PractitionerHiringService { public class PractitionerHiringServiceImpl implements PractitionerHiringService {
@Autowired @Autowired
private WechatService wechatService; private OssService ossService;
@Autowired @Autowired
private AclPractitionerHiringMembershipMapper membershipMapper; private AclPractitionerHiringMembershipMapper membershipMapper;
@Autowired @Autowired
private AclPractitionerHiringBasicInfoMapper basicInfoMapper; private AclPractitionerHiringBasicInfoMapper basicInfoMapper;
@Autowired @Autowired
private AclPractitionerHiringWorkingExperienceMapper workingExperienceMapper; private AclPractitionerHiringWorkingExperienceMapper workingExperienceMapper;
@Autowired
private AclPractitionerHiringPersonalStatementsMapper personalStatementsMapper;
@Autowired
private AclPractitionerHiringContractTermsConfirmsMapper contractTermsConfirmsMapper;
@Override @Override
public SaveMembershipResponseVO saveMembership(SaveMembershipRequestVO requestVO) { public SaveMembershipResponseVO saveMembership(SaveMembershipRequestVO requestVO) {
...@@ -151,14 +152,15 @@ public class PractitionerHiringServiceImpl implements PractitionerHiringService ...@@ -151,14 +152,15 @@ public class PractitionerHiringServiceImpl implements PractitionerHiringService
public SavePersonPictureResponseVO savePersonPicture(SavePersonPictureRequestVO requestVO) { public SavePersonPictureResponseVO savePersonPicture(SavePersonPictureRequestVO requestVO) {
SavePersonPictureResponseVO resp = new SavePersonPictureResponseVO(); SavePersonPictureResponseVO resp = new SavePersonPictureResponseVO();
try { try {
String mediaId = requestVO.getMediaId(); String mediaId = requestVO.getVxUrl();
String imgUrl = wechatService.getImgUrlByMediaId(mediaId); Long basicInfoId = requestVO.getHiringBasicInfoId();
String imgUrl = this.uploadImageToOss(mediaId, basicInfoId, 2);
if (imgUrl == null) { if (imgUrl == null) {
resp.setCommonResult(new CommonResult(false, ZHBErrorConfig.getErrorInfo("830003"))); resp.setCommonResult(new CommonResult(false, ZHBErrorConfig.getErrorInfo("830024")));
} else { } else {
AclPractitionerHiringBasicInfo basicInfo = new AclPractitionerHiringBasicInfo(); AclPractitionerHiringBasicInfo basicInfo = new AclPractitionerHiringBasicInfo();
basicInfo.setId(requestVO.getHiringBasicInfoId()); basicInfo.setId(basicInfoId);
basicInfo.setPersonerPictureOssPath(imgUrl); basicInfo.setPersonerPictureOssPath(imgUrl);
basicInfoMapper.updateByPrimaryKeySelective(basicInfo); basicInfoMapper.updateByPrimaryKeySelective(basicInfo);
...@@ -176,15 +178,16 @@ public class PractitionerHiringServiceImpl implements PractitionerHiringService ...@@ -176,15 +178,16 @@ public class PractitionerHiringServiceImpl implements PractitionerHiringService
public SaveIDPictureResponseVO saveIDPicture(SaveIDPictureRequestVO requestVO) { public SaveIDPictureResponseVO saveIDPicture(SaveIDPictureRequestVO requestVO) {
SaveIDPictureResponseVO resp = new SaveIDPictureResponseVO(); SaveIDPictureResponseVO resp = new SaveIDPictureResponseVO();
try { try {
String frontMediaId = requestVO.getFrontMediaId(); Long basicInfoId = requestVO.getHiringBasicInfoId();
String backMediaId = requestVO.getBackMediaId(); String frontVxUrl = requestVO.getFrontVxUrl();
String backVxUrl = requestVO.getBackVxUrl();
String frontImgUrl = wechatService.getImgUrlByMediaId(frontMediaId); String frontImgUrl = this.uploadImageToOss(frontVxUrl, basicInfoId, 7);
String backImgUrl = wechatService.getImgUrlByMediaId(backMediaId); String backImgUrl = this.uploadImageToOss(backVxUrl, basicInfoId, 8);
if (frontImgUrl != null && backMediaId != null) { if (frontImgUrl != null && backImgUrl != null) {
AclPractitionerHiringBasicInfo basicInfo = new AclPractitionerHiringBasicInfo(); AclPractitionerHiringBasicInfo basicInfo = new AclPractitionerHiringBasicInfo();
basicInfo.setId(requestVO.getHiringBasicInfoId()); basicInfo.setId(basicInfoId);
basicInfo.setIdFrontPageOssPath(frontImgUrl); basicInfo.setIdFrontPageOssPath(frontImgUrl);
basicInfo.setIdBackPageOssPath(backImgUrl); basicInfo.setIdBackPageOssPath(backImgUrl);
basicInfoMapper.updateByPrimaryKeySelective(basicInfo); basicInfoMapper.updateByPrimaryKeySelective(basicInfo);
...@@ -193,10 +196,9 @@ public class PractitionerHiringServiceImpl implements PractitionerHiringService ...@@ -193,10 +196,9 @@ public class PractitionerHiringServiceImpl implements PractitionerHiringService
resp.setFrontImgUrl(frontImgUrl); resp.setFrontImgUrl(frontImgUrl);
resp.setBackImgUrl(backImgUrl); resp.setBackImgUrl(backImgUrl);
} else { } else {
resp.setCommonResult(new CommonResult(false, ZHBErrorConfig.getErrorInfo("830003"))); resp.setCommonResult(new CommonResult(false, ZHBErrorConfig.getErrorInfo("830024")));
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
resp.setCommonResult(new CommonResult(false, e.getMessage())); resp.setCommonResult(new CommonResult(false, e.getMessage()));
...@@ -206,6 +208,121 @@ public class PractitionerHiringServiceImpl implements PractitionerHiringService ...@@ -206,6 +208,121 @@ public class PractitionerHiringServiceImpl implements PractitionerHiringService
@Override @Override
public SaveLastGraduateGradeResponseVO saveLastGraduateGrade(SaveLastGraduateGradeRequestVO requestVO) { public SaveLastGraduateGradeResponseVO saveLastGraduateGrade(SaveLastGraduateGradeRequestVO requestVO) {
return null; SaveLastGraduateGradeResponseVO resp = new SaveLastGraduateGradeResponseVO();
try {
Long basicInfoId = requestVO.getHiringBasicInfoId();
String grade = requestVO.getLastGraduateGrade();
String school = requestVO.getLastGraduateSchool();
String vxUrl = requestVO.getCertificationVxUrl();
String imgUrl = this.uploadImageToOss(vxUrl, basicInfoId, 4);
if (imgUrl != null) {
AclPractitionerHiringBasicInfo basicInfo = new AclPractitionerHiringBasicInfo();
basicInfo.setId(basicInfoId);
basicInfo.setLastGraduateGrade(grade);
basicInfo.setLastGraduateSchool(school);
basicInfo.setLastGraduateCertificationOssPath(imgUrl);
basicInfoMapper.updateByPrimaryKeySelective(basicInfo);
resp.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
resp.setImgUrl(imgUrl);
} else {
resp.setCommonResult(new CommonResult(false, ZHBErrorConfig.getErrorInfo("830024")));
}
} catch (Exception e) {
e.printStackTrace();
resp.setCommonResult(new CommonResult(false, e.getMessage()));
}
return resp;
}
@Override
public SavePersonalStatementsResponseVO savePersonalStatements(SavePersonalStatementsRequestVO requestVO) {
SavePersonalStatementsResponseVO resp = new SavePersonalStatementsResponseVO();
try {
List<AclPractitionerHiringPersonalStatements> personalStatementList = requestVO.getPersonalStatementList();
Date curDate = new Date();
personalStatementList.forEach(item -> {
item.setIsActive(1);
item.setCreatedAt(curDate);
item.setUpdatedAt(curDate);
item.setCreatedBy((long) -1);
item.setUpdatedBy((long) -1);
});
if (personalStatementList.size() > 0) {
personalStatementsMapper.batchInsert(personalStatementList);
}
resp.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
} catch (Exception e) {
e.printStackTrace();
resp.setCommonResult(new CommonResult(false, e.getMessage()));
}
return resp;
}
@Override
public SaveContractTermsConfirmsResponseVO saveContractTermsConfirms(SaveContractTermsConfirmsRequestVO requestVO) {
SaveContractTermsConfirmsResponseVO resp = new SaveContractTermsConfirmsResponseVO();
try {
List<AclPractitionerHiringContractTermsConfirms> contractTermsConfirmsList = requestVO.getContractTermsConfirmsList();
Date curDate = new Date();
contractTermsConfirmsList.forEach(item -> {
item.setIsActive(1);
item.setCreatedAt(curDate);
item.setUpdatedAt(curDate);
item.setCreatedBy((long) -1);
item.setUpdatedBy((long) -1);
});
if (contractTermsConfirmsList.size() > 0) {
contractTermsConfirmsMapper.batchInsert(contractTermsConfirmsList);
}
resp.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
} catch (Exception e) {
e.printStackTrace();
resp.setCommonResult(new CommonResult(false, e.getMessage()));
}
return resp;
}
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("830024"));
}
//获取头像流
InputStream inputStream = (InputStream) input.get("is");
//判断图像尺寸
BufferedImage img = ImageIO.read(inputStream);
ByteArrayOutputStream os = new ByteArrayOutputStream();
ImageIO.write(img, "jpg", os);
inputStream = new ByteArrayInputStream(os.toByteArray());
//上传图片至阿里云
String prefix = "brokerHiring/" + hiringBasicInfoId + "/";
String originalFilename = generateKey(targetUseFor);
String key = prefix + originalFilename;
String putFileToOss = ossService.putFileToOss(null, key, inputStream);
return putFileToOss;
}
private String generateKey(int targetUseFor) {
SimpleDateFormat sdf = new SimpleDateFormat("yyMMddHHmmss");
return targetUseFor+sdf.format(new Date()) + CommonUtil.getRandomNum(3)+".jpg";
} }
} }
package com.yd.api.practitioner.vo.hiring;
import com.yd.dal.entity.customer.AclPractitionerHiringContractTermsConfirms;
import lombok.Data;
import java.util.List;
@Data
public class SaveContractTermsConfirmsRequestVO {
private Long hiringBasicInfoId;
private List<AclPractitionerHiringContractTermsConfirms> contractTermsConfirmsList;
}
package com.yd.api.practitioner.vo.hiring;
import com.yd.api.result.CommonResult;
import lombok.Data;
@Data
public class SaveContractTermsConfirmsResponseVO {
private CommonResult commonResult;
}
...@@ -5,6 +5,6 @@ import lombok.Data; ...@@ -5,6 +5,6 @@ import lombok.Data;
@Data @Data
public class SaveIDPictureRequestVO { public class SaveIDPictureRequestVO {
private Long hiringBasicInfoId; private Long hiringBasicInfoId;
private String frontMediaId; private String frontVxUrl;
private String backMediaId; private String backVxUrl;
} }
...@@ -7,5 +7,5 @@ public class SaveLastGraduateGradeRequestVO { ...@@ -7,5 +7,5 @@ public class SaveLastGraduateGradeRequestVO {
private Long hiringBasicInfoId; private Long hiringBasicInfoId;
private String lastGraduateGrade; private String lastGraduateGrade;
private String lastGraduateSchool; private String lastGraduateSchool;
private String certificationMediaId; private String certificationVxUrl;
} }
...@@ -5,5 +5,5 @@ import lombok.Data; ...@@ -5,5 +5,5 @@ import lombok.Data;
@Data @Data
public class SavePersonPictureRequestVO { public class SavePersonPictureRequestVO {
private Long hiringBasicInfoId; private Long hiringBasicInfoId;
private String mediaId; private String vxUrl;
} }
package com.yd.api.practitioner.vo.hiring;
import com.yd.dal.entity.customer.AclPractitionerHiringPersonalStatements;
import lombok.Data;
import java.util.List;
@Data
public class SavePersonalStatementsRequestVO {
private Long hiringBasicInfoId;
private List<AclPractitionerHiringPersonalStatements> personalStatementList;
}
\ No newline at end of file
package com.yd.api.practitioner.vo.hiring;
import com.yd.api.result.CommonResult;
import lombok.Data;
@Data
public class SavePersonalStatementsResponseVO {
private CommonResult commonResult;
}
...@@ -90,6 +90,4 @@ public interface WechatService { ...@@ -90,6 +90,4 @@ public interface WechatService {
*/ */
WeChatInfoByENV getWeChatInfoByENV(String gzhName, boolean getAccessToken); WeChatInfoByENV getWeChatInfoByENV(String gzhName, boolean getAccessToken);
String getImgUrlByMediaId(String dediaId) throws IOException;
} }
...@@ -626,31 +626,6 @@ public class WechatServiceImpl implements WechatService { ...@@ -626,31 +626,6 @@ public class WechatServiceImpl implements WechatService {
return weChatInfoByENV; return weChatInfoByENV;
} }
@Override
public String getImgUrlByMediaId(String mediaId) throws IOException {
String accessToken = this.obtainToken(new TokenRequest());
System.out.println("accessToken:" + accessToken);
TicketRequest ticketRequest = new TicketRequest();
ticketRequest.setAccessToken(accessToken);
String jsapiTicket = this.obtainTicket(ticketRequest);
System.out.println("jsapiTicket:" + jsapiTicket);
String ImgUrl = "https://api.weixin.qq.com/cgi-bin/media/get?access_token=" + accessToken + "&media_id=" + mediaId;
Map<String, Object> input = HttpUtil.getInput(ImgUrl);
if ((boolean) input.get("success")) {
InputStream inputStream = (InputStream) input.get("is");
Image img = ImageIO.read(inputStream);
if (!(img == null || img.getWidth(null) <= 0 || img.getHeight(null) <= 0)) {
return ImgUrl;
}
}
return null;
}
/** /**
* 在本地开发时,通过dev去获取access_token * 在本地开发时,通过dev去获取access_token
* @param accessTokenRequest * @param accessTokenRequest
......
...@@ -37,4 +37,5 @@ ...@@ -37,4 +37,5 @@
830021=请选择发佣日期 830021=请选择发佣日期
830022=请选择关账记录 830022=请选择关账记录
830023=已关账并发放的记录,不能修改 830023=已关账并发放的记录,不能修改
830024=上传失败,请重新上传!
900003=保险公司响应报文为空! 900003=保险公司响应报文为空!
\ No newline at end of file
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