客户管理:客户的邮箱默认为姓名的全拼写+电话号码[email protected]
思路:客户新增页面调后台的方法,将客户的邮箱默认为姓名的全拼写+电话号码[email protected],赋值给邮箱;
界面:UI_ZY_BP_ADD_A
界面调的数据服务:hdsapiCustomerTfNtBpResource---url:/customer/tfNtBp
所调的后台方法:(标绿色)
@RequestMapping(value = "/tfNtBp/{data}",method = RequestMethod.GET) public ResponseEntity<BaseResponse> transferNtBpInfo(@PathVariable String data){ Assert.notNull(data,"自然人基本参数为空!"); String[] strings = data.split(","); if(strings.length>1) { String bpId = IdGen.uuid(); String idCard = strings[2]; String gender = null;//性别 String birthDate = null;//出生日期 int age = 0; /** * //根据身份证号位数不同,分别获取性别,出生日期。 * --18位身份证号码:第7、8、9、10位为出生年份(四位数),第11、第12位为出生月份,第13、14位代表出生日期,第17位代表性别,奇数为男,偶数为女。 */ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); if(idCard.length()==18){ //性别 String id17 = idCard.substring(16,17); if (Integer.parseInt(id17) % 2 != 0) { gender = Gender.MALE.getCode(); } else { gender = Gender.FEMALE.getCode(); } //出生日期 birthDate = idCard.substring(6,10)+"-"+idCard.substring(10,12)+"-"+idCard.substring(12,14); age = AgeUtils.getAgefromBirthTime(birthDate); } CbayNtCustomerDTO cbayNtCustomerDTO = new CbayNtCustomerDTO(); CbayNtBpBaseDTO cbayNtBpBaseDTO = new CbayNtBpBaseDTO(); CbayNtBpInfoDTO cbayNtBpInfoDTO = new CbayNtBpInfoDTO(); cbayNtBpInfoDTO.setBusinessPartnerType(strings[0]); cbayNtBpInfoDTO.setName(strings[1]); cbayNtBpInfoDTO.setCertificateNumber(idCard); cbayNtBpInfoDTO.setCertificateTypeCode(CertificateType.IdCard.getCode()); cbayNtBpInfoDTO.setBpId(bpId); cbayNtBpInfoDTO.setGender(gender); cbayNtBpInfoDTO.setBirthDate(birthDate); cbayNtBpInfoDTO.setAge(age); cbayNtBpInfoDTO.setCellPhoneNumber(strings[3]); //根据名称获取拼音 拼接邮箱 String pinyin = ChineseCharacterUtils.convertHanzi2Pinyin(strings[1],true); String email = pinyin+strings[3]+"@163.com"; cbayNtBpInfoDTO.setMailBox(email); cbayNtBpBaseDTO.setCbayNtBpInfoDTO(cbayNtBpInfoDTO); cbayNtCustomerDTO.setCbayNtBpBaseDTO(cbayNtBpBaseDTO); //文档上传 ProductDocumentDTO productDocumentDTO = new ProductDocumentDTO(); productDocumentDTO.setApplFormId(bpId); productDocumentDTO.setDocCfgId("bp_doc"); cbayNtCustomerDTO.setProductDocumentDTO(productDocumentDTO); return buildSuccessResponse(cbayNtCustomerDTO); }else{ //查看自然人信息 CbayNtCustomerDTO cbayNtCustomerDTO = new CbayNtCustomerDTO(); CbayNtBpBaseDTO cbayNtBpBaseDTO = new CbayNtBpBaseDTO(); CbayNtAssistDTO cbayNtAssistDTO = new CbayNtAssistDTO(); //客戶基本信息 BusinessPartnerBase base = customerApplicationService.queryBpBaseById(data); NaturalBpInfo naturalBpInfo = customerApplicationService.queryNaturalBpByBpId(data); cbayNtBpBaseDTO.setCbayNtBpInfoDTO(CustomerConvertor.converBpBase(base,naturalBpInfo)); if(naturalBpInfo.getMaritalStatus().equals(MaritalStatus.MARRIED) || naturalBpInfo.getMaritalStatus().equals(MaritalStatus.FIRST_MARRIAGE)|| naturalBpInfo.getMaritalStatus().equals(MaritalStatus.REMARRY)|| naturalBpInfo.getMaritalStatus().equals(MaritalStatus.REMARRIAGE)){ NaturalBpSpouseInfo bpSpouseInfo = customerApplicationService.queryNtBpSpouse(naturalBpInfo.getId()); cbayNtBpBaseDTO.setCbayNtBpSpouseDTO(CustomerConvertor.converCbayNtBpSpouseDTO(bpSpouseInfo)); } cbayNtCustomerDTO.setCbayNtBpBaseDTO(cbayNtBpBaseDTO); //辅助信息 NaturalBpWorkInfo workInfo = customerApplicationService.queryNtBpWorkInfo(naturalBpInfo.getId()); if(workInfo!=null){ cbayNtAssistDTO.setCbayNtBpWorkDTO(CustomerConvertor.converCbayNtBpWorkDTO(workInfo)); }else{ CbayNtBpWorkDTO cbayNtBpWorkDTO = new CbayNtBpWorkDTO(); cbayNtBpWorkDTO.setOccpTypeCd(OccupationType.PROFESSIONAL.getCode()); cbayNtBpWorkDTO.setPstnTypeCd(PositionType.GENERAL_STAFF.getCode()); cbayNtBpWorkDTO.setTitleTypeCd(JobTitle.INTERMEDIATE.getCode()); cbayNtAssistDTO.setCbayNtBpWorkDTO(cbayNtBpWorkDTO); } //资产情况 BusinessAssestInfo businessAssestInfo = customerApplicationService.queryAsseInfoById(naturalBpInfo.getId()); cbayNtAssistDTO.setCbayBpAssetinfoDTO(CustomerConvertor.convetCbayBpAssetinfoDTO(businessAssestInfo)); List<NaturalBpSocialInfo> socialInfos = customerApplicationService.queryNtSocialByBpId(naturalBpInfo.getId()); if(CollectionUtils.isNotEmpty(socialInfos)){ List<CbayNtBpSocialDTO> cbayNtBpSocialDTOs = new ArrayList<>(); socialInfos.stream().forEach(social->{ cbayNtBpSocialDTOs.add(CustomerConvertor.converCbayNtBpSocialDTO(social)); }); cbayNtAssistDTO.setCbayNtBpSocialDTOs(cbayNtBpSocialDTOs); } // cbayNtCustomerDTO.setCbayNtAssistDTO(cbayNtAssistDTO); cbayNtCustomerDTO.getCbayNtBpBaseDTO().setCbayNtAssistDTO(cbayNtAssistDTO); //账户信息 List<BpAcctInfo> bpAcctInfos = customerApplicationService.queryAcctInfoByBpId(data); if(CollectionUtils.isNotEmpty(bpAcctInfos)){ List<CbayBpAcctInfoDTO> cbayBpAcctInfoDTOs = new ArrayList<>(); bpAcctInfos.stream().forEach(acct->{ acct.setBpName(base.getName()); acct.setCertificateTypeCode(cbayNtBpBaseDTO.getCbayNtBpInfoDTO().getCertificateTypeCode()); acct.setCertificateNumber(cbayNtBpBaseDTO.getCbayNtBpInfoDTO().getCertificateNumber()); cbayBpAcctInfoDTOs.add(CustomerConvertor.converCbayBpAcctInfoDTO(acct)); }); cbayNtCustomerDTO.setCbayBpAcctInfoDTOs(cbayBpAcctInfoDTOs); } //文档上传 ProductDocumentDTO productDocumentDTO = new ProductDocumentDTO(); productDocumentDTO.setApplFormId(naturalBpInfo.getBpId()); productDocumentDTO.setDocCfgId("bp_doc"); cbayNtCustomerDTO.setProductDocumentDTO(productDocumentDTO); return buildSuccessResponse(cbayNtCustomerDTO); } }