客户管理:客户的邮箱默认为姓名的全拼写+电话号码[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);
        }
    }

猜你喜欢

转载自blog.csdn.net/nancy1018/article/details/80966734