Commit da32937a by Water Wang

Merge remote-tracking branch 'refs/remotes/origin/master'

parents f24cfd1d 0e59d6cf
......@@ -144,6 +144,22 @@
<artifactId>commons-collections</artifactId>
<version>3.2.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.jsoup/jsoup -->
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.13.1</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.9</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
</dependency>
</dependencies>
<build>
......
package com.yd.api.practitioner;
import com.yd.api.practitioner.service.PractitionerPolicyService;
import com.yd.api.practitioner.service.PractitionerBasicInfoService;
import com.yd.api.practitioner.service.PractitionerService;
import com.yd.api.practitioner.vo.login.PractitionerLoginRequestVO;
import com.yd.api.practitioner.vo.login.PractitionerLoginResponseVO;
import com.yd.api.practitioner.vo.media.MediaGetReqVO;
import com.yd.api.practitioner.vo.media.MediaGetRespVO;
import com.yd.api.practitioner.vo.opportunity.*;
import com.yd.api.practitioner.vo.payscale.PayScalePdfRequestVO;
import com.yd.api.practitioner.vo.payscale.PayScalePdfResponseVO;
import com.yd.api.practitioner.vo.payscale.PayScaleQueryRequestVO;
import com.yd.api.practitioner.vo.payscale.PayScaleQueryResponseVO;
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;
......@@ -21,9 +25,7 @@ import com.yd.api.practitioner.vo.subordinate.SubordinateSystemMemberQueryRespon
import com.yd.api.result.JsonResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
@Controller
@RestController
......@@ -33,7 +35,7 @@ public class PractitionerController {
@Autowired
private PractitionerService practitionerService;
@Autowired
private PractitionerPolicyService practitionerPolicyService;
private PractitionerBasicInfoService practitionerBasicInfoService;
/**
* 经纪人登录
......@@ -422,7 +424,7 @@ public class PractitionerController {
@RequestMapping("/policyListQuery")
public Object practitionerPolicyListQuery(@RequestBody PolicyListQueryRequestVO requestVO){
JsonResult result = new JsonResult();
PolicyListQueryResponseVO responseVO = practitionerPolicyService.policyListQuery(requestVO);
PolicyListQueryResponseVO responseVO = practitionerBasicInfoService.policyListQuery(requestVO);
result.setData(responseVO);
result.addResult(responseVO);
return result;
......@@ -436,7 +438,36 @@ public class PractitionerController {
@RequestMapping("/policyInfoQuery")
public Object policyInfoQuery(@RequestBody PolicyInfoQueryRequestVO requestVO){
JsonResult result = new JsonResult();
PolicyInfoQueryResponseVO responseVO = practitionerPolicyService.policyInfoQuery(requestVO);
PolicyInfoQueryResponseVO responseVO = practitionerBasicInfoService.policyInfoQuery(requestVO);
result.setData(responseVO);
result.addResult(responseVO);
return result;
}
/**
* 经纪人薪资表查询接口
* @param requestVO 请求信息
* @return PolicyInfoQueryResponseVO
*/
@RequestMapping("/payScaleListQuery")
public Object payScaleListQuery(@RequestBody PayScaleQueryRequestVO requestVO){
JsonResult result = new JsonResult();
PayScaleQueryResponseVO responseVO = practitionerBasicInfoService.payScaleListQuery(requestVO);
result.setData(responseVO);
result.addResult(responseVO);
return result;
}
/**
* 获取经纪人的薪资表
* @param requestVO 请求信息
* @return 返回信息
*/
@PostMapping(value = "/payScalePdf")
public Object payScalePdf(@RequestBody PayScalePdfRequestVO requestVO){
JsonResult result = new JsonResult();
PayScalePdfResponseVO responseVO = practitionerBasicInfoService.payScalePdf(requestVO);
result.setData(responseVO);
result.addResult(responseVO);
return result;
......
package com.yd.api.practitioner.service;
import com.yd.api.practitioner.vo.payscale.PayScalePdfRequestVO;
import com.yd.api.practitioner.vo.payscale.PayScalePdfResponseVO;
import com.yd.api.practitioner.vo.payscale.PayScaleQueryRequestVO;
import com.yd.api.practitioner.vo.payscale.PayScaleQueryResponseVO;
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 org.springframework.stereotype.Service;
@Service("practitionerPolicyService")
public interface PractitionerPolicyService {
@Service("practitionerBasicInfoService")
public interface PractitionerBasicInfoService {
/**
* 经纪人保单列表查询
* @param requestVO 请求信息
......@@ -21,4 +25,18 @@ public interface PractitionerPolicyService {
* @return PolicyInfoQueryResponseVO
*/
PolicyInfoQueryResponseVO policyInfoQuery(PolicyInfoQueryRequestVO requestVO);
/**
* eGolden -- 经纪人薪资表查询
* @param requestVO 请求信息
* @return 相应
*/
PayScaleQueryResponseVO payScaleListQuery(PayScaleQueryRequestVO requestVO);
/**
* 获取经纪人的薪资表
* @param requestVO 请求信息
* @return 响应信息
*/
PayScalePdfResponseVO payScalePdf(PayScalePdfRequestVO requestVO);
}
package com.yd.api.practitioner.service.impl;
import com.google.common.base.Strings;
import com.yd.api.practitioner.service.PractitionerPolicyService;
import com.yd.api.practitioner.vo.payscale.PayScalePdfRequestVO;
import com.yd.api.practitioner.service.PractitionerBasicInfoService;
import com.yd.api.practitioner.vo.payscale.PayScaleInfo;
import com.yd.api.practitioner.vo.payscale.PayScalePdfResponseVO;
import com.yd.api.practitioner.vo.payscale.PayScaleQueryRequestVO;
import com.yd.api.practitioner.vo.payscale.PayScaleQueryResponseVO;
import com.yd.api.practitioner.vo.policy.PolicyInfo;
import com.yd.api.practitioner.vo.policy.PolicyListQueryRequestVO;
import com.yd.api.practitioner.vo.policy.PolicyListQueryResponseVO;
import com.yd.api.practitioner.vo.policy.policyinfoquery.*;
import com.yd.api.result.CommonResult;
import com.yd.dal.entity.customer.AclFileUpload;
import com.yd.dal.entity.customer.AclPractitioner;
import com.yd.dal.entity.customer.practitioner.PractitionerBasicInfo;
import com.yd.dal.entity.customer.practitioner.PractitionerInfo;
import com.yd.dal.entity.meta.OptionsEGolden;
import com.yd.dal.entity.order.CustomerPolicyInfo;
import com.yd.dal.entity.order.PolicyDetailInfoE;
import com.yd.dal.entity.order.PolicyFactorInfoE;
import com.yd.dal.entity.practitioner.payscale.PayScaleBasicInfo;
import com.yd.dal.entity.product.Product;
import com.yd.dal.entity.product.ProductE;
import com.yd.dal.entity.product.ProductPlan;
import com.yd.dal.service.customer.AclFileUploadDALService;
import com.yd.dal.service.customer.AclPractitionerDALService;
import com.yd.dal.service.meta.MdDropOptionsDALService;
import com.yd.dal.service.order.PoOrderDALService;
import com.yd.dal.service.product.ProductDALService;
import com.yd.dal.service.product.ProductPlanDALService;
import com.yd.rmi.ali.oss.service.OssService;
import com.yd.rmi.ali.oss.vo.OssOperateTypeEnum;
import com.yd.rmi.ali.oss.vo.OssRequestVO;
import com.yd.rmi.ali.oss.vo.OssResponseVO;
import com.yd.rmi.cache.SystemConfigService;
import com.yd.util.CommonUtil;
import com.yd.util.config.ZHBErrorConfig;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.io.*;
import java.util.*;
@Service("practitionerPolicyService")
public class PractitionerPolicyServiceImpl implements PractitionerPolicyService {
@Service("practitionerBasicInfoService")
public class PractitionerBasicInfoServiceImpl implements PractitionerBasicInfoService {
@Autowired
private AclPractitionerDALService aclPractitionerDALService;
......@@ -41,6 +57,13 @@ public class PractitionerPolicyServiceImpl implements PractitionerPolicyService
private ProductDALService productDALService;
@Autowired
private MdDropOptionsDALService mdDropOptionsDALService;
@Autowired
private SystemConfigService systemConfigService;
@Autowired
private OssService ossService;
@Autowired
private AclFileUploadDALService aclFileUploadDALService;
@Override
public PolicyListQueryResponseVO policyListQuery(PolicyListQueryRequestVO requestVO) {
PolicyListQueryResponseVO responseVO = new PolicyListQueryResponseVO();
......@@ -94,6 +117,232 @@ public class PractitionerPolicyServiceImpl implements PractitionerPolicyService
return responseVO;
}
@Override
public PayScaleQueryResponseVO payScaleListQuery(PayScaleQueryRequestVO requestVO) {
PayScaleQueryResponseVO responseVO = new PayScaleQueryResponseVO();
String practitionerIdEG = requestVO.getPractitionerIdEG();
if(!Strings.isNullOrEmpty(practitionerIdEG)){
List<PayScaleInfo> payScaleInfoListAll = aclPractitionerDALService.findPayScaleByPractitionerEG(practitionerIdEG);
if(!payScaleInfoListAll.isEmpty()){
Map<String,String> dtlTypeMap = new HashMap<>();
Map<String,String> titleMap = new HashMap<>();
List<OptionsEGolden> optionsEGoldenList = mdDropOptionsDALService.findByMasterIdsE(Collections.singletonList(101));
optionsEGoldenList.forEach(i->dtlTypeMap.put(i.getOptAttr(),i.getOptName()));
List<OptionsEGolden> titleList = mdDropOptionsDALService.findAllTitleEG();
titleList.forEach(i->titleMap.put(i.getTitleCode(),i.getTitleName()));
Map<Integer,PayScaleInfo> payScaleInfoMap = new HashMap<>();
PayScaleInfo payScaleInfo;
Integer time;
for(PayScaleInfo item : payScaleInfoListAll){
time = item.getMonDtlPeriod();
if(payScaleInfoMap.containsKey(time)){
payScaleInfo = payScaleInfoMap.get(time);
calculateRAmount(payScaleInfo,item);
}else{
calculateRAmount(item,item);
item.setMonDtlItem("实发薪水");
payScaleInfoMap.put(time,item);
item.setDrpTitleCode(titleMap.get(item.getDrpTitleCode()));
item.setMonDtlType(dtlTypeMap.get(item.getMonDtlType()));
}
}
//修改金钱格式
for(PayScaleInfo item : payScaleInfoListAll){
item.setMonDtlRAmount(CommonUtil.doubleFormat(item.getMonDtlRAmount(),2));
}
List<PayScaleInfo> resultList = new ArrayList<>(payScaleInfoMap.values());
resultList.sort(Comparator.comparingInt(PayScaleInfo :: getMonDtlPeriod).reversed());
responseVO.setPayScaleInfos(resultList);
}
responseVO.setCommonResult(new CommonResult(true,ZHBErrorConfig.getErrorInfo("800000")));
}else{
String[] params = {"practitionerIdEG"};
responseVO.setCommonResult(new CommonResult(false, ZHBErrorConfig.getErrorInfo("610002", params)));
}
return responseVO;
}
@Override
public PayScalePdfResponseVO payScalePdf(PayScalePdfRequestVO requestVO) {
PayScalePdfResponseVO responseVO = new PayScalePdfResponseVO();
Integer monShId = requestVO.getMonShId();
Long practitionerId = requestVO.getPractitionerId();
if(monShId != null && practitionerId != null){
PayScaleBasicInfo payScaleBasicInfo = aclPractitionerDALService.findFilePathByMonShId(monShId);
if(payScaleBasicInfo != null){
Integer time = payScaleBasicInfo.getMonDtlPeriod();
if(time != null){
AclFileUpload aclFileUpload = aclFileUploadDALService.findByTargetIdAndRemark(1,practitionerId,time.toString());
String url;
if(aclFileUpload != null){
url = aclFileUpload.getFilePath();
if(Strings.isNullOrEmpty(url)){
url = checkPractitionerId(payScaleBasicInfo,practitionerId,time.toString());
}
}else{
url = checkPractitionerId(payScaleBasicInfo,practitionerId,time.toString());
}
if(!Strings.isNullOrEmpty(url)){
responseVO.setUrl(url);
responseVO.setCommonResult(new CommonResult(true,ZHBErrorConfig.getErrorInfo("800000")));
return responseVO;
}
}
}
}
responseVO.setCommonResult(new CommonResult(true,ZHBErrorConfig.getErrorInfo("820001")));
return responseVO;
}
private String checkPractitionerId(PayScaleBasicInfo payScaleBasicInfo, Long practitionerId,String time){
if(payScaleBasicInfo != null){
String practitionerIdEG = payScaleBasicInfo.getSalMstId();
PractitionerBasicInfo practitionerBasicInfo = aclPractitionerDALService.findByIdEG(practitionerIdEG);
if(practitionerBasicInfo != null){
String mobileNo = practitionerBasicInfo.getMobileNo();
if(!Strings.isNullOrEmpty(mobileNo)){
PractitionerInfo practitionerInfo = aclPractitionerDALService.findPractitionerInfoByLogin(mobileNo);
if(practitionerInfo != null){
Long practitionerIdDB = practitionerInfo.getPractitionerId();
if(practitionerIdDB != null && practitionerIdDB.equals(practitionerId)){
String filePath = payScaleBasicInfo.getUploadPath();
return getPDFUrl(filePath,practitionerId,time);
}
}
}
}
}
return null;
}
private String getPDFUrl(String filePath,Long practitionerId,String time) {
String url = null;
String[] filePathStr = filePath.split("salaryCalculation/");
if(filePathStr.length == 2) {
String catalogPath = systemConfigService.getSingleConfigValue("payScalePath");
filePath = catalogPath + filePathStr[1];//"/home/egolden/shareSalaryCalculation/"
// filePath = "/users/water/Salary_201908_YDSH00032.pdf";
File file = new File(filePath);
if (file.exists()) {// 如果文件名存在,则进行下载
// 获取文件名和日期
String[] str = filePath.split("/");
String fileName = str[str.length-1];
String timeScale = str[str.length-2];
String prefix = "payScale/"+timeScale+"/";
String ossKey = fileName.replaceAll(" ", "").replaceAll(" ", "");
ossKey = prefix+CommonUtil.getRandomNum(5)+ossKey;
try{
OssRequestVO requestVO = new OssRequestVO();
requestVO.setOperateType(OssOperateTypeEnum.PUT_OBJECT.getCode());
requestVO.setBucketName(systemConfigService.getSingleConfigValue("ALI_OSS_BUCKET_NAME"));
requestVO.setKey(ossKey);
requestVO.setFile(file);
OssResponseVO ossresponseVO = ossService.ossOperate(requestVO);
if(ossresponseVO.getCommonResult().isSuccess()){
requestVO.setOperateType(OssOperateTypeEnum.GENERATE_URL.getCode());
ossresponseVO = ossService.ossOperate(requestVO);
url = ossresponseVO.getUrl();
AclFileUpload aclFileUpload = new AclFileUpload();
aclFileUpload.setTargetType(1);
aclFileUpload.setTargetId(practitionerId);
aclFileUpload.setTargetNo("payScale");
aclFileUpload.setFileType("PDF");
aclFileUpload.setFileName(fileName);
aclFileUpload.setFilePath(url);
aclFileUpload.setTargetUseFor(10);
aclFileUpload.setFileSize(String.valueOf(file));
aclFileUpload.setOssKey(ossKey);
aclFileUpload.setIsActive(1);
aclFileUpload.setUploadedAt(new Date());
aclFileUpload.setUploadedBy(-1L);
aclFileUpload.setRemark(time);
aclFileUploadDALService.saveFileUpload(aclFileUpload);
}
}catch(Exception e){
e.printStackTrace();
}finally{
file.deleteOnExit();
}
}
}
return url;
}
// private void getPayScalePdf(String filePath, HttpServletResponse response) {
// File file = new File(filePath);
// // 如果文件名存在,则进行下载
// if (file.exists()) {
// // 配置文件下载
// String[] str = filePath.split("/");
// String fileName = str[str.length-1];
// response.setHeader("content-type", "application/pdf");
// response.setHeader("Cache-Control", "max-age=30");
// response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");
// response.setHeader("Pragma", "public");
// // 下载文件能正常显示中文
// try {
// response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));
// } catch (UnsupportedEncodingException e) {
// e.printStackTrace();
// }
// response.setContentType("application/pdf");
// // 实现文件下载
// byte[] buffer = new byte[1024];
// FileInputStream fis = null;
// BufferedInputStream bis = null;
// try {
// fis = new FileInputStream(file);
// bis = new BufferedInputStream(fis);
// OutputStream os = response.getOutputStream();
// int i = bis.read(buffer);
// while (i != -1) {
// os.write(buffer, 0, i);
// i = bis.read(buffer);
// }
// } catch (Exception e) {
// e.printStackTrace();
// } finally {
// if (bis != null) {
// try {
// bis.close();
// } catch (IOException e) {
// e.printStackTrace();
// }
// }
// if (fis != null) {
// try {
// fis.close();
// } catch (IOException e) {
// e.printStackTrace();
// }
// }
// }
// }
// }
private void calculateRAmount(PayScaleInfo payScaleInfoMain, PayScaleInfo payScaleInfoElse) {
if(payScaleInfoMain != null && payScaleInfoElse != null){
Integer shIdMain = payScaleInfoMain.getMonShId();
Integer shIdElse = payScaleInfoElse.getMonShId();
Double all = payScaleInfoMain.getMonDtlRAmount();
double allA = (shIdMain.equals(shIdElse))? 0D : payScaleInfoMain.getMonDtlAmount();
Double temp = payScaleInfoElse.getMonDtlAmount();
String type = payScaleInfoElse.getMonDtlItem();
if(!Strings.isNullOrEmpty(type)){
if(type.startsWith("W")){
all = all - temp;
}else{
all = all + temp;
allA = allA + temp;
}
payScaleInfoMain.setMonDtlRAmount(all);
payScaleInfoMain.setMonDtlAmount(allA);
}
}
}
private String getOrderNoE(String policyNo) {
String orderNo = null;
if(!Strings.isNullOrEmpty(policyNo)){
......
......@@ -174,6 +174,7 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
isSpecial = mobileSpecials.contains(mobileNo);
}
if(28L == practitionerType || isSpecial){//只有寿险的经纪人和注册为经纪人的员工才能登录
PractitionerBasicInfo practitionerBasicInfo = aclPractitionerDALService.findByMobileNoE(mobileNo);
Long practitionerId = practitionerInfo.getPractitionerId();
Long customerId = practitionerInfo.getCustomerId();
AclCustomer customer = aclCustomerDALService.findById(customerId);
......@@ -193,6 +194,9 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
basicInfo.setSubordinateLeader(subordinateInfo.getSubordinateLeader());
}
}
if(practitionerBasicInfo != null){
responseVO.setPractitionerIdEG(practitionerBasicInfo.getPractitionerId());
}
//获取用户的登录次数
List<AclCustomerLog> customerLogList = aclCustomerLogDALService.findLogInfoByCustomerId(customerId);
int logTimes = (customerLogList.isEmpty()) ? 0 : customerLogList.size();
......@@ -225,7 +229,6 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
+ "appid=" + appId
+ "&redirect_uri=" + redirectUri
+ "&response_type=code&scope=snsapi_base&state=123#wechat_redirect";
System.out.println(">>>>>url>>>>>>>:" + url);
responseVO.setGetOpenIdUrl(url);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
......
......@@ -6,6 +6,7 @@ import com.yd.api.result.CommonResult;
public class PractitionerLoginResponseVO {
private Long customerId;
private Long practitionerId;
private String practitionerIdEG;
private Integer loginTimes;
private String getOpenIdUrl;
private PractitionerLoginBasicInfo practitionerBasicInfo;
......@@ -43,6 +44,14 @@ public class PractitionerLoginResponseVO {
this.practitionerBasicInfo = practitionerBasicInfo;
}
public String getPractitionerIdEG() {
return practitionerIdEG;
}
public void setPractitionerIdEG(String practitionerIdEG) {
this.practitionerIdEG = practitionerIdEG;
}
public String getGetOpenIdUrl() {
return getOpenIdUrl;
}
......
package com.yd.api.practitioner.vo.payscale;
public class PayScaleInfo {
private Integer monShId;
private String salMstId;
private String drpTitleCode;
private String monDtlType;
private String monDtlItem;
private Integer monDtlPeriod;
private Double monDtlAmount;
private Double monDtlRAmount;
private String createDate;
private String createUser;
public Integer getMonShId() {
return monShId;
}
public void setMonShId(Integer monShId) {
this.monShId = monShId;
}
public String getSalMstId() {
return salMstId;
}
public void setSalMstId(String salMstId) {
this.salMstId = salMstId;
}
public String getDrpTitleCode() {
return drpTitleCode;
}
public void setDrpTitleCode(String drpTitleCode) {
this.drpTitleCode = drpTitleCode;
}
public String getMonDtlType() {
return monDtlType;
}
public void setMonDtlType(String monDtlType) {
this.monDtlType = monDtlType;
}
public String getMonDtlItem() {
return monDtlItem;
}
public void setMonDtlItem(String monDtlItem) {
this.monDtlItem = monDtlItem;
}
public Double getMonDtlAmount() {
return monDtlAmount;
}
public void setMonDtlAmount(Double monDtlAmount) {
this.monDtlAmount = monDtlAmount;
}
public Double getMonDtlRAmount() {
return monDtlRAmount;
}
public void setMonDtlRAmount(Double monDtlRAmount) {
this.monDtlRAmount = monDtlRAmount;
}
public String getCreateDate() {
return createDate;
}
public void setCreateDate(String createDate) {
this.createDate = createDate;
}
public String getCreateUser() {
return createUser;
}
public void setCreateUser(String createUser) {
this.createUser = createUser;
}
public Integer getMonDtlPeriod() {
return monDtlPeriod;
}
public void setMonDtlPeriod(Integer monDtlPeriod) {
this.monDtlPeriod = monDtlPeriod;
}
}
package com.yd.api.practitioner.vo.payscale;
public class PayScalePdfRequestVO {
private Integer monShId;
private Long practitionerId;
public Long getPractitionerId() {
return practitionerId;
}
public void setPractitionerId(Long practitionerId) {
this.practitionerId = practitionerId;
}
public Integer getMonShId() {
return monShId;
}
public void setMonShId(Integer monShId) {
this.monShId = monShId;
}
}
package com.yd.api.practitioner.vo.payscale;
import com.yd.api.result.CommonResult;
public class PayScalePdfResponseVO {
private String url;
private CommonResult commonResult;
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public CommonResult getCommonResult() {
return commonResult;
}
public void setCommonResult(CommonResult commonResult) {
this.commonResult = commonResult;
}
}
package com.yd.api.practitioner.vo.payscale;
public class PayScaleQueryRequestVO {
private String practitionerIdEG;
public String getPractitionerIdEG() {
return practitionerIdEG;
}
public void setPractitionerIdEG(String practitionerIdEG) {
this.practitionerIdEG = practitionerIdEG;
}
}
package com.yd.api.practitioner.vo.payscale;
import com.yd.api.result.CommonResult;
import java.util.List;
public class PayScaleQueryResponseVO {
private List<PayScaleInfo> payScaleInfos;
private CommonResult commonResult;
public List<PayScaleInfo> getPayScaleInfos() {
return payScaleInfos;
}
public void setPayScaleInfos(List<PayScaleInfo> payScaleInfos) {
this.payScaleInfos = payScaleInfos;
}
public CommonResult getCommonResult() {
return commonResult;
}
public void setCommonResult(CommonResult commonResult) {
this.commonResult = commonResult;
}
}
......@@ -8,6 +8,7 @@ public class PractitionerBasicInfo {
private String titleCode;
private String titleName;
private String gender;
private String mobileNo;
public Long getCustomerId() {
return customerId;
......@@ -65,4 +66,11 @@ public class PractitionerBasicInfo {
this.gender = gender;
}
public String getMobileNo() {
return mobileNo;
}
public void setMobileNo(String mobileNo) {
this.mobileNo = mobileNo;
}
}
......@@ -6,6 +6,9 @@ public class OptionsEGolden {
private String optName;
private String optAttr;
private String optOrder;
private String titleCode;
private String titleName;
private String titleLevel;
public Integer getOptId() {
return optId;
......@@ -46,4 +49,28 @@ public class OptionsEGolden {
public void setOptOrder(String optOrder) {
this.optOrder = optOrder;
}
public String getTitleCode() {
return titleCode;
}
public void setTitleCode(String titleCode) {
this.titleCode = titleCode;
}
public String getTitleName() {
return titleName;
}
public void setTitleName(String titleName) {
this.titleName = titleName;
}
public String getTitleLevel() {
return titleLevel;
}
public void setTitleLevel(String titleLevel) {
this.titleLevel = titleLevel;
}
}
......@@ -22,6 +22,7 @@ public class CustomerPolicyInfo implements Comparable<CustomerPolicyInfo>{
private Integer platform;//1、银盾在线,2、EGolden
private Long planId;
private Long productId;
private Long fortuneId;
public Long getOrderId() {
return orderId;
......@@ -129,6 +130,14 @@ public class CustomerPolicyInfo implements Comparable<CustomerPolicyInfo>{
this.productId = productId;
}
public Long getFortuneId() {
return fortuneId;
}
public void setFortuneId(Long fortuneId) {
this.fortuneId = fortuneId;
}
@Override
public int compareTo(CustomerPolicyInfo o) {
String orderDate1 = o.getOrderDate();
......
package com.yd.dal.entity.practitioner.payscale;
public class PayScaleBasicInfo {
private Integer monShId;
private String salMstId;
private String drpTitleCode;
private String monDtlType;
private String monDtlItem;
private Integer monDtlPeriod;
private Double monDtlAmount;
private Double monDtlRAmount;
private String createDate;
private String createUser;
private String uploadPath;
private String uploadTime;
public Integer getMonShId() {
return monShId;
}
public void setMonShId(Integer monShId) {
this.monShId = monShId;
}
public String getSalMstId() {
return salMstId;
}
public void setSalMstId(String salMstId) {
this.salMstId = salMstId;
}
public String getDrpTitleCode() {
return drpTitleCode;
}
public void setDrpTitleCode(String drpTitleCode) {
this.drpTitleCode = drpTitleCode;
}
public String getMonDtlType() {
return monDtlType;
}
public void setMonDtlType(String monDtlType) {
this.monDtlType = monDtlType;
}
public String getMonDtlItem() {
return monDtlItem;
}
public void setMonDtlItem(String monDtlItem) {
this.monDtlItem = monDtlItem;
}
public Double getMonDtlAmount() {
return monDtlAmount;
}
public void setMonDtlAmount(Double monDtlAmount) {
this.monDtlAmount = monDtlAmount;
}
public Double getMonDtlRAmount() {
return monDtlRAmount;
}
public void setMonDtlRAmount(Double monDtlRAmount) {
this.monDtlRAmount = monDtlRAmount;
}
public String getCreateDate() {
return createDate;
}
public void setCreateDate(String createDate) {
this.createDate = createDate;
}
public String getCreateUser() {
return createUser;
}
public void setCreateUser(String createUser) {
this.createUser = createUser;
}
public Integer getMonDtlPeriod() {
return monDtlPeriod;
}
public void setMonDtlPeriod(Integer monDtlPeriod) {
this.monDtlPeriod = monDtlPeriod;
}
public String getUploadPath() {
return uploadPath;
}
public void setUploadPath(String uploadPath) {
this.uploadPath = uploadPath;
}
public String getUploadTime() {
return uploadTime;
}
public void setUploadTime(String uploadTime) {
this.uploadTime = uploadTime;
}
}
......@@ -22,4 +22,6 @@ public interface AclFileUploadMapper {
CustomerFileUpload findByTargetTypeAndTargetUseForAndTargetId(@Param("targetType")Integer targetType, @Param("targetUseFor")Integer targetUseFor, @Param("practitionerId")Long practitionerId);
List<AclFileUpload> findByAclFileUpload(AclFileUpload fileUpload);
AclFileUpload findByTargetIdAndRemark(@Param("type")Integer type, @Param("targetId")Long targetId, @Param("remark")String remark);
}
\ No newline at end of file
package com.yd.dal.mapper.customer;
import com.yd.api.practitioner.vo.payscale.PayScaleInfo;
import com.yd.dal.entity.practitioner.opportunity.PlayerSalesActivityInfo;
import com.yd.dal.entity.customer.AclPractitioner;
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.practitioner.opportunity.OwnOpportunityInfo;
import com.yd.dal.entity.practitioner.payscale.PayScaleBasicInfo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
......@@ -54,4 +56,10 @@ public interface AclPractitionerMapper {
PractitionerRankInfo getPractitionerRankInfoByPractitionerIdEG(@Param("practitionerIdEG") String practitionerIdEG, @Param("time") Integer time);
PractitionerRankInfo getPractitionerRankInfoByPractitionerIdYD(@Param("practitionerId")Long practitionerId, @Param("time")Integer time);
List<PayScaleInfo> findPayScaleByPractitionerEG(@Param("practitionerIdEG")String practitionerIdEG);
PayScaleBasicInfo findFilePathByMonShId(@Param("monShId")Integer monShId);
PractitionerBasicInfo findByIdEG(@Param("practitionerIdEG")String practitionerIdEG);
}
\ No newline at end of file
......@@ -31,4 +31,6 @@ public interface MdDropOptionsMapper {
List<MdDropOptions> findByMasterCodeAndOptionsCode(@Param("masterCode")String masterCode, @Param("optionsCode")String optionsCode);
List<OptionsEGolden> findByMasterIdsE(@Param("materIds")List<Integer> materIds);
List<OptionsEGolden> findAllTitleEG();
}
\ No newline at end of file
......@@ -42,4 +42,13 @@ public interface AclFileUploadDALService {
* @param aclFileUpload
*/
void saveFileUpload(AclFileUpload aclFileUpload);
/**
* 根据条件查询
* @param type 类型
* @param targetId id
* @param remark 备注
* @return
*/
AclFileUpload findByTargetIdAndRemark(Integer type, Long targetId, String remark);
}
package com.yd.dal.service.customer;
import com.yd.api.practitioner.vo.payscale.PayScaleInfo;
import com.yd.dal.entity.practitioner.opportunity.PlayerSalesActivityInfo;
import com.yd.dal.entity.practitioner.opportunity.OwnOpportunityInfo;
import com.yd.dal.entity.customer.AclPractitioner;
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.practitioner.payscale.PayScaleBasicInfo;
import org.springframework.stereotype.Service;
import java.util.List;
......@@ -139,4 +141,25 @@ public interface AclPractitionerDALService {
* @return 返回结果
*/
PractitionerRankInfo getPractitionerRankInfoByPractitionerIdYD(Long practitionerId, Integer time);
/**
* eGolden -- 根据经纪人id获取薪资表列表
* @param practitionerIdEG 经纪人id
* @return 结果
*/
List<PayScaleInfo> findPayScaleByPractitionerEG(String practitionerIdEG);
/**
* 查询经纪人薪资文件路径
* @param monShId 流水号
* @return 结果
*/
PayScaleBasicInfo findFilePathByMonShId(Integer monShId);
/**
* 根据EGolden查询
* @param practitionerIdEG id
* @return 返回
*/
PractitionerBasicInfo findByIdEG(String practitionerIdEG);
}
......@@ -6,6 +6,7 @@ import com.yd.dal.mapper.customer.AclFileUploadMapper;
import com.yd.dal.service.customer.AclFileUploadDALService;
import com.yd.util.intercept.annotation.TargetDataSource;
import com.yd.util.intercept.commons.DataSourceKey;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
......@@ -47,4 +48,9 @@ public class AclFileUploadDALServiceImpl implements AclFileUploadDALService {
public void saveFileUpload(AclFileUpload aclFileUpload) {
aclFileUploadMapper.insertSelective(aclFileUpload);
}
@Override
public AclFileUpload findByTargetIdAndRemark(Integer type,Long targetId, String remark ) {
return aclFileUploadMapper.findByTargetIdAndRemark(type,targetId,remark);
}
}
package com.yd.dal.service.customer.impl;
import com.google.common.base.Strings;
import com.yd.api.practitioner.vo.payscale.PayScaleInfo;
import com.yd.dal.entity.practitioner.opportunity.PlayerSalesActivityInfo;
import com.yd.dal.entity.practitioner.opportunity.OwnOpportunityInfo;
import com.yd.dal.entity.customer.AclPractitioner;
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.practitioner.payscale.PayScaleBasicInfo;
import com.yd.dal.mapper.customer.AclPractitionerMapper;
import com.yd.dal.service.customer.AclPractitionerDALService;
import com.yd.util.deshandler.DESTypeHandler;
......@@ -135,4 +137,22 @@ public class AclPractitionerDALServiceImpl implements AclPractitionerDALService
public PractitionerRankInfo getPractitionerRankInfoByPractitionerIdYD(Long practitionerId, Integer time) {
return aclPractitionerMapper.getPractitionerRankInfoByPractitionerIdYD(practitionerId,time);
}
@Override
@TargetDataSource(dataSourceKey = DataSourceKey.DB_EGOLDEN)
public List<PayScaleInfo> findPayScaleByPractitionerEG(String practitionerIdEG) {
return aclPractitionerMapper.findPayScaleByPractitionerEG(practitionerIdEG);
}
@Override
@TargetDataSource(dataSourceKey = DataSourceKey.DB_EGOLDEN)
public PayScaleBasicInfo findFilePathByMonShId(Integer monShId) {
return aclPractitionerMapper.findFilePathByMonShId(monShId);
}
@Override
@TargetDataSource(dataSourceKey = DataSourceKey.DB_EGOLDEN)
public PractitionerBasicInfo findByIdEG(String practitionerIdEG) {
return aclPractitionerMapper.findByIdEG(practitionerIdEG);
}
}
......@@ -21,4 +21,6 @@ public interface MdDropOptionsDALService {
List<MdDropOptions> findByMasterCodeAndOptionsCode(String team_building_track, String s);
List<OptionsEGolden> findByMasterIdsE(List<Integer> materIds);
List<OptionsEGolden> findAllTitleEG();
}
......@@ -61,4 +61,10 @@ public class MdDropOptionsDALServiceImpl implements MdDropOptionsDALService {
public List<OptionsEGolden> findByMasterIdsE(List<Integer> materIds) {
return mdDropOptionsMapper.findByMasterIdsE(materIds);
}
@Override
@TargetDataSource(dataSourceKey = DataSourceKey.DB_EGOLDEN)
public List<OptionsEGolden> findAllTitleEG() {
return mdDropOptionsMapper.findAllTitleEG();
}
}
package com.yd.rmi.ali.oss.service;
import com.yd.rmi.ali.oss.vo.OssRequestVO;
import com.yd.rmi.ali.oss.vo.OssResponseVO;
import java.io.InputStream;
public interface OssService {
String putFileToOss(String string, String key, InputStream is) throws Exception;
OssResponseVO ossOperate(OssRequestVO ossRequestVO);
}
......@@ -85,8 +85,8 @@ public class OssServiceImpl implements OssService {
}
return url;
}
private OssResponseVO ossOperate(OssRequestVO ossRequestVO) {
@Override
public OssResponseVO ossOperate(OssRequestVO ossRequestVO) {
OssResponseVO ossResponseVO = new OssResponseVO();
boolean success = true;
String message = ZHBErrorConfig.getErrorInfo("800000");
......
......@@ -17,10 +17,16 @@ multiple.datasource.master.username=devdbuser
multiple.datasource.master.password=devdbpass1
#egolden
#multiple.datasource.egolden.driver-class-name=com.mysql.jdbc.Driver
#multiple.datasource.egolden.url=jdbc:MySql://139.224.138.103:13308/stage_ydinsurance?characterEncoding=UTF-8&useSSL=false&useAffectedRows=true
#multiple.datasource.egolden.username=insurance_stage
#multiple.datasource.egolden.password=fWTauSswR2!$
#egolden
multiple.datasource.egolden.driver-class-name=com.mysql.jdbc.Driver
multiple.datasource.egolden.url=jdbc:MySql://139.224.138.103:13308/stage_ydinsurance?characterEncoding=UTF-8&useSSL=false&useAffectedRows=true
multiple.datasource.egolden.username=insurance_stage
multiple.datasource.egolden.password=fWTauSswR2!$
multiple.datasource.egolden.url=jdbc:MySql://139.224.94.140:13307/ydinsurance?characterEncoding=UTF-8&useSSL=false&useAffectedRows=true
multiple.datasource.egolden.username=stageuser
multiple.datasource.egolden.password=AG@#$mstage234
#pagehelper分页插件配置
pagehelper.helperDialect=mysql
......
......@@ -17,10 +17,16 @@ multiple.datasource.master.username=devdbuser
multiple.datasource.master.password=devdbpass1
#egolden
#multiple.datasource.egolden.driver-class-name=com.mysql.jdbc.Driver
#multiple.datasource.egolden.url=jdbc:MySql://139.224.138.103:13308/stage_ydinsurance?characterEncoding=UTF-8&useSSL=false&useAffectedRows=true
#multiple.datasource.egolden.username=insurance_stage
#multiple.datasource.egolden.password=fWTauSswR2!$
#egolden
multiple.datasource.egolden.driver-class-name=com.mysql.jdbc.Driver
multiple.datasource.egolden.url=jdbc:MySql://139.224.138.103:13308/stage_ydinsurance?characterEncoding=UTF-8&useSSL=false&useAffectedRows=true
multiple.datasource.egolden.username=insurance_stage
multiple.datasource.egolden.password=fWTauSswR2!$
multiple.datasource.egolden.url=jdbc:MySql://139.224.94.140:13307/ydinsurance?characterEncoding=UTF-8&useSSL=false&useAffectedRows=true
multiple.datasource.egolden.username=stageuser
multiple.datasource.egolden.password=AG@#$mstage234
#pagehelper分页插件配置
pagehelper.helperDialect=mysql
......
......@@ -11,7 +11,7 @@
800000=执行成功!
##系统提示信息
810001=token无效或者错误!
820001=查询到相应结果。
820001=查询到相应结果。
830001=该用户非寿险经纪人。
830002=只有寿险经纪人才有权限进入!
......
......@@ -289,4 +289,10 @@
</where>
</select>
<select id="findByTargetIdAndRemark" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from ag_acl_file_upload
where target_type = #{type,jdbcType=INTEGER} and target_id = #{targetId,jdbcType=BIGINT} and remark = #{remark,jdbcType=VARCHAR} and is_active = 1
</select>
</mapper>
\ No newline at end of file
......@@ -699,7 +699,7 @@
from ag_acl_customer c inner join ag_acl_practitioner p on c.id = p.customer_id
left join ag_acl_insurer_branch b on p.insurer_branch_id = b.id
left join ag_acl_practitioner_setting s on p.id = s.practitioner_id
inner join ag_md_drop_options o on s.practitioner_level = o.id
left join ag_md_drop_options o on s.practitioner_level = o.id
where c.login = #{mobileNo};
</select>
......@@ -870,4 +870,45 @@
</otherwise>
</choose>
</select>
<select id="findPayScaleByPractitionerEG" resultType="com.yd.api.practitioner.vo.payscale.PayScaleInfo">
select
t.MON_SH_ID as monShId,
t.FK_SAL_MST_ID as salMstId,
t.FK_DRP_TITLE_CODE as drpTitleCode,
t.MON_DTL_TYPE as monDtlType,
t.MON_DTL_ITEM as monDtlItem,
t.MON_DTL_PERIOD as monDtlPeriod,
ifnull(t.MON_DTL_AMOUNT,0) as monDtlAmount,
ifnull(t.MON_DTL_RAMOUNT,0) as monDtlRAmount,
date_format(t.CREATE_DATE, '%Y-%m-%d %H:%i:%s') as createDate,
t.CREATE_USER as createUser
from mon011 t where FK_SAL_MST_ID = #{practitionerIdEG,jdbcType=VARCHAR};
</select>
<select id="findFilePathByMonShId" resultType="com.yd.dal.entity.practitioner.payscale.PayScaleBasicInfo">
select
t.MON_SH_ID as monShId,
t.FK_SAL_MST_ID as salMstId,
t.FK_DRP_TITLE_CODE as drpTitleCode,
t.MON_DTL_TYPE as monDtlType,
t.MON_DTL_ITEM as monDtlItem,
t.MON_DTL_PERIOD as monDtlPeriod,
ifnull(t.MON_DTL_AMOUNT,0) as monDtlAmount,
ifnull(t.MON_DTL_RAMOUNT,0) as monDtlRAmount,
date_format(t.CREATE_DATE, '%Y-%m-%d %H:%i:%s') as createDate,
t.CREATE_USER as createUser,
t.UPLOAD_PATH as uploadPath,
t.UPLOAD_TIME as uploadTime
from mon011 t where t.MON_SH_ID = #{monShId,jdbcType=INTEGER}
</select>
<select id="findByIdEG" resultMap="base_result_map_practitioner_info">
SELECT
p.SAL_MST_ID as practitionerId,
p.SAL_MST_NAME as name,
p.SAL_MST_GENDER as gender,
p.SAL_MST_MOBILE as mobileNo
FROM sal001 p
where p.SAL_MST_ID = #{practitionerIdEG,jdbcType=VARCHAR} limit 1
</select>
</mapper>
\ No newline at end of file
......@@ -254,4 +254,11 @@
#{item}
</foreach>
</select>
<select id="findAllTitleEG" resultType="com.yd.dal.entity.meta.OptionsEGolden">
select
t.DRP_TITLE_CODE as titleCode,
t.DRP_TITLE_NAME as titleName,
t.DRP_TITLE_LEVEL as titleLevel
from drp003 t
</select>
</mapper>
\ No newline at end of file
......@@ -29,7 +29,6 @@
<result column="insurer_pdf_url" jdbcType="VARCHAR" property="insurerPdfUrl" />
<result column="is_msg_sent" jdbcType="INTEGER" property="isMsgSent" />
<result column="is_car_tax" jdbcType="INTEGER" property="isCarTax" />
<result column="yd_value_added_tax" jdbcType="DECIMAL" property="ydValueAddedTax" />
<result column="commission_rate" jdbcType="DECIMAL" property="commissionRate" />
<result column="commission_amount" jdbcType="DECIMAL" property="commissionAmount" />
<result column="fyc_rate" jdbcType="DECIMAL" property="fycRate" />
......@@ -91,7 +90,7 @@
quote_no, product_category_id, destination, destination_continent_id, destination_region_id,
destination_country_id, effective_start_date, effective_end_date, cover_length, cover_adult_qty,
cover_underage_qty, payment_method_id, pay_url, pay_from, insurer_pdf_url, is_msg_sent,
is_car_tax, yd_value_added_tax, commission_rate, commission_amount, fyc_rate, fyc_amount,
is_car_tax, commission_rate, commission_amount, fyc_rate, fyc_amount,
b2c_rate, grade_commission_rate, referral_rate, referral_amount, policy_id, policy_no,
mkt_campaign, mkt_task, is_converted, `status`, payment_status, flag, customer_id,
referral_customer_id, share_code, insurer_id, data_source, is_social_insured, cover_term,
......@@ -124,7 +123,7 @@
effective_end_date, cover_length, cover_adult_qty,
cover_underage_qty, payment_method_id, pay_url,
pay_from, insurer_pdf_url, is_msg_sent,
is_car_tax, yd_value_added_tax, commission_rate,
is_car_tax, commission_rate,
commission_amount, fyc_rate, fyc_amount,
b2c_rate, grade_commission_rate, referral_rate,
referral_amount, policy_id, policy_no,
......@@ -247,9 +246,6 @@
<if test="isCarTax != null">
is_car_tax,
</if>
<if test="ydValueAddedTax != null">
yd_value_added_tax,
</if>
<if test="commissionRate != null">
commission_rate,
</if>
......@@ -729,9 +725,6 @@
<if test="isCarTax != null">
is_car_tax = #{isCarTax,jdbcType=INTEGER},
</if>
<if test="ydValueAddedTax != null">
yd_value_added_tax = #{ydValueAddedTax,jdbcType=DECIMAL},
</if>
<if test="commissionRate != null">
commission_rate = #{commissionRate,jdbcType=DECIMAL},
</if>
......@@ -924,7 +917,6 @@
insurer_pdf_url = #{insurerPdfUrl,jdbcType=VARCHAR},
is_msg_sent = #{isMsgSent,jdbcType=INTEGER},
is_car_tax = #{isCarTax,jdbcType=INTEGER},
yd_value_added_tax = #{ydValueAddedTax,jdbcType=DECIMAL},
commission_rate = #{commissionRate,jdbcType=DECIMAL},
commission_amount = #{commissionAmount,jdbcType=DECIMAL},
fyc_rate = #{fycRate,jdbcType=DECIMAL},
......@@ -1008,7 +1000,8 @@
f.referral_amount as referralAmount,
f.order_price as orderPrice,
o.plan_id as planId,
o.product_id as productId
o.product_id as productId ,
f.id as fortuneId
FROM ag_acl_customer_fortune f INNER JOIN ag_po_order o ON f.order_id = o.id and o.status = 3 and o.order_price &gt; 0 and o.insurer_id != 888
inner JOIN ag_acl_policyholder p ON o.id = p.order_id and p.type = 2
WHERE f.customer_id = #{customerId,jdbcType=BIGINT}
......
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