Commit 5319ac29 by yao.xiao

Merge branch 'dev_20201208_hiring' of http://139.224.139.2:9091/AGSH/yd-backend…

Merge branch 'dev_20201208_hiring' of http://139.224.139.2:9091/AGSH/yd-backend into dev_20201208_hiring
parents f9496744 72757a24
......@@ -110,4 +110,30 @@ public class PractitionerHiringController {
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 {
SaveIDPictureResponseVO saveIDPicture(SaveIDPictureRequestVO requestVO);
SaveLastGraduateGradeResponseVO saveLastGraduateGrade(SaveLastGraduateGradeRequestVO requestVO);
SavePersonalStatementsResponseVO savePersonalStatements(SavePersonalStatementsRequestVO requestVO);
SaveContractTermsConfirmsResponseVO saveContractTermsConfirms(SaveContractTermsConfirmsRequestVO requestVO);
}
......@@ -3,15 +3,10 @@ package com.yd.api.practitioner.service.impl;
import com.yd.api.practitioner.service.PractitionerHiringService;
import com.yd.api.practitioner.vo.hiring.*;
import com.yd.api.result.CommonResult;
import com.yd.dal.entity.customer.AclPractitionerHiringBasicInfo;
import com.yd.dal.entity.customer.AclPractitionerHiringMembership;
import com.yd.dal.entity.customer.AclPractitionerHiringWorkingExperience;
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.dal.entity.customer.*;
import com.yd.dal.mapper.customer.*;
import com.yd.rmi.ali.oss.service.OssService;
import com.yd.util.CommonUtil;
import com.yd.util.HttpUtil;
import com.yd.util.config.ZHBErrorConfig;
......@@ -20,9 +15,11 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.imageio.ImageIO;
import java.awt.*;
import java.io.IOException;
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Map;
......@@ -32,13 +29,17 @@ import java.util.Map;
public class PractitionerHiringServiceImpl implements PractitionerHiringService {
@Autowired
private WechatService wechatService;
private OssService ossService;
@Autowired
private AclPractitionerHiringMembershipMapper membershipMapper;
@Autowired
private AclPractitionerHiringBasicInfoMapper basicInfoMapper;
@Autowired
private AclPractitionerHiringWorkingExperienceMapper workingExperienceMapper;
@Autowired
private AclPractitionerHiringPersonalStatementsMapper personalStatementsMapper;
@Autowired
private AclPractitionerHiringContractTermsConfirmsMapper contractTermsConfirmsMapper;
@Override
public SaveMembershipResponseVO saveMembership(SaveMembershipRequestVO requestVO) {
......@@ -151,14 +152,15 @@ public class PractitionerHiringServiceImpl implements PractitionerHiringService
public SavePersonPictureResponseVO savePersonPicture(SavePersonPictureRequestVO requestVO) {
SavePersonPictureResponseVO resp = new SavePersonPictureResponseVO();
try {
String mediaId = requestVO.getMediaId();
String imgUrl = wechatService.getImgUrlByMediaId(mediaId);
String mediaId = requestVO.getVxUrl();
Long basicInfoId = requestVO.getHiringBasicInfoId();
String imgUrl = this.uploadImageToOss(mediaId, basicInfoId, 2);
if (imgUrl == null) {
resp.setCommonResult(new CommonResult(false, ZHBErrorConfig.getErrorInfo("830003")));
resp.setCommonResult(new CommonResult(false, ZHBErrorConfig.getErrorInfo("830024")));
} else {
AclPractitionerHiringBasicInfo basicInfo = new AclPractitionerHiringBasicInfo();
basicInfo.setId(requestVO.getHiringBasicInfoId());
basicInfo.setId(basicInfoId);
basicInfo.setPersonerPictureOssPath(imgUrl);
basicInfoMapper.updateByPrimaryKeySelective(basicInfo);
......@@ -176,15 +178,16 @@ public class PractitionerHiringServiceImpl implements PractitionerHiringService
public SaveIDPictureResponseVO saveIDPicture(SaveIDPictureRequestVO requestVO) {
SaveIDPictureResponseVO resp = new SaveIDPictureResponseVO();
try {
String frontMediaId = requestVO.getFrontMediaId();
String backMediaId = requestVO.getBackMediaId();
Long basicInfoId = requestVO.getHiringBasicInfoId();
String frontVxUrl = requestVO.getFrontVxUrl();
String backVxUrl = requestVO.getBackVxUrl();
String frontImgUrl = wechatService.getImgUrlByMediaId(frontMediaId);
String backImgUrl = wechatService.getImgUrlByMediaId(backMediaId);
String frontImgUrl = this.uploadImageToOss(frontVxUrl, basicInfoId, 7);
String backImgUrl = this.uploadImageToOss(backVxUrl, basicInfoId, 8);
if (frontImgUrl != null && backMediaId != null) {
if (frontImgUrl != null && backImgUrl != null) {
AclPractitionerHiringBasicInfo basicInfo = new AclPractitionerHiringBasicInfo();
basicInfo.setId(requestVO.getHiringBasicInfoId());
basicInfo.setId(basicInfoId);
basicInfo.setIdFrontPageOssPath(frontImgUrl);
basicInfo.setIdBackPageOssPath(backImgUrl);
basicInfoMapper.updateByPrimaryKeySelective(basicInfo);
......@@ -193,10 +196,9 @@ public class PractitionerHiringServiceImpl implements PractitionerHiringService
resp.setFrontImgUrl(frontImgUrl);
resp.setBackImgUrl(backImgUrl);
} else {
resp.setCommonResult(new CommonResult(false, ZHBErrorConfig.getErrorInfo("830003")));
resp.setCommonResult(new CommonResult(false, ZHBErrorConfig.getErrorInfo("830024")));
}
} catch (Exception e) {
e.printStackTrace();
resp.setCommonResult(new CommonResult(false, e.getMessage()));
......@@ -206,6 +208,121 @@ public class PractitionerHiringServiceImpl implements PractitionerHiringService
@Override
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("yyMMdd");
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;
@Data
public class SaveIDPictureRequestVO {
private Long hiringBasicInfoId;
private String frontMediaId;
private String backMediaId;
private String frontVxUrl;
private String backVxUrl;
}
......@@ -7,5 +7,5 @@ public class SaveLastGraduateGradeRequestVO {
private Long hiringBasicInfoId;
private String lastGraduateGrade;
private String lastGraduateSchool;
private String certificationMediaId;
private String certificationVxUrl;
}
......@@ -5,5 +5,5 @@ import lombok.Data;
@Data
public class SavePersonPictureRequestVO {
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;
}
......@@ -71,7 +71,7 @@ public class AclPractitionerHiringMembership {
/**
* 分公司id
*/
private String branchPractitionerId;
private String branchId;
/**
* 分公司
......
......@@ -89,7 +89,5 @@ public interface WechatService {
* @return
*/
WeChatInfoByENV getWeChatInfoByENV(String gzhName, boolean getAccessToken);
String getImgUrlByMediaId(String dediaId) throws IOException;
}
......@@ -626,31 +626,6 @@ public class WechatServiceImpl implements WechatService {
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
* @param accessTokenRequest
......
......@@ -37,4 +37,5 @@
830021=请选择发佣日期
830022=请选择关账记录
830023=已关账并发放的记录,不能修改
830024=上传失败,请重新上传!
900003=保险公司响应报文为空!
\ No newline at end of file
......@@ -16,7 +16,7 @@
<result column="subsystem" jdbcType="VARCHAR" property="subsystem" />
<result column="subsystem_owner_id" jdbcType="VARCHAR" property="subsystemOwnerId" />
<result column="subsystem_owner" jdbcType="VARCHAR" property="subsystemOwner" />
<result column="branch_practitioner_id" jdbcType="VARCHAR" property="branchPractitionerId" />
<result column="branch_id" jdbcType="VARCHAR" property="branchId" />
<result column="branch" jdbcType="VARCHAR" property="branch" />
<result column="is_active" jdbcType="INTEGER" property="isActive" />
<result column="created_at" jdbcType="TIMESTAMP" property="createdAt" />
......@@ -28,7 +28,7 @@
<!--@mbg.generated-->
id, hiring_basic_info_id, md_drop_option_id, md_drop_option_name, mentor_practitioner_id,
mentor, introducer_practitioner_id, introducer, subsystem_id, subsystem, subsystem_owner_id,
subsystem_owner, branch_practitioner_id, branch, is_active, created_at, created_by,
subsystem_owner, branch_id, branch, is_active, created_at, created_by,
updated_at, updated_by
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
......@@ -58,14 +58,14 @@
md_drop_option_name, mentor_practitioner_id,
mentor, introducer_practitioner_id, introducer,
subsystem_id, subsystem, subsystem_owner_id,
subsystem_owner, branch_practitioner_id, branch,
subsystem_owner, branch_id, branch,
is_active, created_at, created_by,
updated_at, updated_by)
values (#{hiringBasicInfoId,jdbcType=BIGINT}, #{mdDropOptionId,jdbcType=BIGINT},
#{mdDropOptionName,jdbcType=VARCHAR}, #{mentorPractitionerId,jdbcType=VARCHAR},
#{mentor,jdbcType=VARCHAR}, #{introducerPractitionerId,jdbcType=VARCHAR}, #{introducer,jdbcType=VARCHAR},
#{subsystemId,jdbcType=VARCHAR}, #{subsystem,jdbcType=VARCHAR}, #{subsystemOwnerId,jdbcType=VARCHAR},
#{subsystemOwner,jdbcType=VARCHAR}, #{branchPractitionerId,jdbcType=VARCHAR}, #{branch,jdbcType=VARCHAR},
#{subsystemOwner,jdbcType=VARCHAR}, #{branchId,jdbcType=VARCHAR}, #{branch,jdbcType=VARCHAR},
#{isActive,jdbcType=INTEGER}, #{createdAt,jdbcType=TIMESTAMP}, #{createdBy,jdbcType=BIGINT},
#{updatedAt,jdbcType=TIMESTAMP}, #{updatedBy,jdbcType=BIGINT})
</insert>
......@@ -106,8 +106,8 @@
<if test="subsystemOwner != null">
subsystem_owner,
</if>
<if test="branchPractitionerId != null">
branch_practitioner_id,
<if test="branchId != null">
branch_id,
</if>
<if test="branch != null">
branch,
......@@ -162,8 +162,8 @@
<if test="subsystemOwner != null">
#{subsystemOwner,jdbcType=VARCHAR},
</if>
<if test="branchPractitionerId != null">
#{branchPractitionerId,jdbcType=VARCHAR},
<if test="branchId != null">
#{branchId,jdbcType=VARCHAR},
</if>
<if test="branch != null">
#{branch,jdbcType=VARCHAR},
......@@ -222,8 +222,8 @@
<if test="subsystemOwner != null">
subsystem_owner = #{subsystemOwner,jdbcType=VARCHAR},
</if>
<if test="branchPractitionerId != null">
branch_practitioner_id = #{branchPractitionerId,jdbcType=VARCHAR},
<if test="branchId != null">
branch_id = #{branchId,jdbcType=VARCHAR},
</if>
<if test="branch != null">
branch = #{branch,jdbcType=VARCHAR},
......@@ -260,7 +260,7 @@
subsystem = #{subsystem,jdbcType=VARCHAR},
subsystem_owner_id = #{subsystemOwnerId,jdbcType=VARCHAR},
subsystem_owner = #{subsystemOwner,jdbcType=VARCHAR},
branch_practitioner_id = #{branchPractitionerId,jdbcType=VARCHAR},
branch_id = #{branchId,jdbcType=VARCHAR},
branch = #{branch,jdbcType=VARCHAR},
is_active = #{isActive,jdbcType=INTEGER},
created_at = #{createdAt,jdbcType=TIMESTAMP},
......@@ -328,9 +328,9 @@
when id = #{item.id,jdbcType=BIGINT} then #{item.subsystemOwner,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="branch_practitioner_id = case" suffix="end,">
<trim prefix="branch_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=BIGINT} then #{item.branchPractitionerId,jdbcType=VARCHAR}
when id = #{item.id,jdbcType=BIGINT} then #{item.branchId,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="branch = case" suffix="end,">
......@@ -450,10 +450,10 @@
</if>
</foreach>
</trim>
<trim prefix="branch_practitioner_id = case" suffix="end,">
<trim prefix="branch_id = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.branchPractitionerId != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.branchPractitionerId,jdbcType=VARCHAR}
<if test="item.branchId != null">
when id = #{item.id,jdbcType=BIGINT} then #{item.branchId,jdbcType=VARCHAR}
</if>
</foreach>
</trim>
......@@ -510,7 +510,7 @@
insert into ag_acl_practitioner_hiring_membership
(hiring_basic_info_id, md_drop_option_id, md_drop_option_name, mentor_practitioner_id,
mentor, introducer_practitioner_id, introducer, subsystem_id, subsystem, subsystem_owner_id,
subsystem_owner, branch_practitioner_id, branch, is_active, created_at, created_by,
subsystem_owner, branch_id, branch, is_active, created_at, created_by,
updated_at, updated_by)
values
<foreach collection="list" item="item" separator=",">
......@@ -519,7 +519,7 @@
#{item.mentor,jdbcType=VARCHAR}, #{item.introducerPractitionerId,jdbcType=VARCHAR},
#{item.introducer,jdbcType=VARCHAR}, #{item.subsystemId,jdbcType=VARCHAR}, #{item.subsystem,jdbcType=VARCHAR},
#{item.subsystemOwnerId,jdbcType=VARCHAR}, #{item.subsystemOwner,jdbcType=VARCHAR},
#{item.branchPractitionerId,jdbcType=VARCHAR}, #{item.branch,jdbcType=VARCHAR},
#{item.branchId,jdbcType=VARCHAR}, #{item.branch,jdbcType=VARCHAR},
#{item.isActive,jdbcType=INTEGER}, #{item.createdAt,jdbcType=TIMESTAMP}, #{item.createdBy,jdbcType=BIGINT},
#{item.updatedAt,jdbcType=TIMESTAMP}, #{item.updatedBy,jdbcType=BIGINT})
</foreach>
......
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