package com.ydtech.modules.admin.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ydtech.core.page.HttpResult; import com.ydtech.modules.admin.constants.MoneyAttrConstants; import com.ydtech.modules.admin.constants.WithdrawTypeConstants; import com.ydtech.modules.admin.dao.SysUserAccountMapper; import com.ydtech.modules.admin.model.SysUser; import com.ydtech.modules.admin.model.po.SysAmountAuditingEntity; import com.ydtech.modules.admin.model.po.SysUserAccount; import com.ydtech.modules.admin.model.po.SysUserAccountHistory; import com.ydtech.modules.admin.model.po.SysUserBankCard; import com.ydtech.modules.admin.model.vo.SysUserAccountVo; import com.ydtech.modules.admin.service.SysAmountAuditingService; import com.ydtech.modules.admin.service.SysUserAccountHistoryService; import com.ydtech.modules.admin.service.SysUserAccountService; import com.ydtech.modules.admin.service.SysUserBankCardService; import com.ydtech.modules.base.controller.BaseController; import com.ydtech.modules.esm.service.EsmUserReferrerService; import com.ydtech.modules.order.dao.InsOrdersMapper; import com.ydtech.modules.order.entity.BasePageResult; import com.ydtech.modules.order.entity.InsOrders; import com.ydtech.modules.order.entity.vo.OrderVo; import com.ydtech.modules.order.service.InsAreaCompanyService; import com.ydtech.modules.protocols.entity.po.InsFeeOrderNew; import com.ydtech.modules.protocols.service.InsFeeOrderNewService; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; /** * @author Administrator * @description 针对表【sys_user_account(用户账户表)】的数据库操作Service实现 * @createDate 2024-03-05 11:52:30 */ @Service public class SysUserAccountServiceImpl extends ServiceImpl implements SysUserAccountService { @Autowired private SysUserAccountHistoryService sysUserAccountHistoryService; @Autowired private SysUserAccountService sysUserAccountService; @Autowired private EsmUserReferrerService esmUserReferrerService; @Autowired private SysAmountAuditingService sysAmountAuditingService; @Autowired private SysUserBankCardService sysUserBankCardService; @Autowired private InsAreaCompanyService insAreaCompanyService; @Autowired private InsFeeOrderNewService insFeeOrderNewService; @Autowired private InsOrdersMapper insOrdersMapper; @Override @Transactional public void addOrUpdate(SysUserAccount sysUserAccount) { SysUserAccount newSysAccount = baseMapper.getById(sysUserAccount.getUserId()); // 初始化 if (sysUserAccount.getHandlingFee() == null) { sysUserAccount.setHandlingFee(BigDecimal.ZERO); } if (sysUserAccount.getDocumentary() == null) { sysUserAccount.setDocumentary(BigDecimal.ZERO); } if (sysUserAccount.getPromotion() == null) { sysUserAccount.setPromotion(BigDecimal.ZERO); } // 如果用户id有值则累加 没有则 新增 String userId = sysUserAccount.getUserId(); SysUserAccount sysUserAccountEntity = super.getById(userId); SysUserAccount newAccount = new SysUserAccount(); if (ObjectUtils.isNotEmpty(sysUserAccountEntity)) { sysUserAccountEntity.setHandlingFee(sysUserAccount.getHandlingFee().add(sysUserAccountEntity.getHandlingFee())); sysUserAccountEntity.setDocumentary(sysUserAccount.getDocumentary().add(sysUserAccountEntity.getDocumentary())); sysUserAccountEntity.setPromotion(sysUserAccount.getPromotion().add(sysUserAccountEntity.getPromotion())); if (StringUtils.isNotEmpty(sysUserAccount.getDocumentaryStatus())) { sysUserAccountEntity.setDocumentaryStatus(sysUserAccount.getDocumentaryStatus()); } baseMapper.updateById(sysUserAccountEntity); } else { sysUserAccountEntity = new SysUserAccount(); sysUserAccountEntity.setUserId(userId); sysUserAccountEntity.setDocumentary(sysUserAccount.getDocumentary()); sysUserAccountEntity.setPromotion(sysUserAccount.getPromotion()); sysUserAccountEntity.setHandlingFee(sysUserAccount.getHandlingFee()); BigDecimal zero = BigDecimal.ZERO; sysUserAccountEntity.setHandlingAmountAccount(zero); sysUserAccountEntity.setHandlingAmountWithdrawal(zero); sysUserAccountEntity.setHandlingAmountPayment(zero); sysUserAccountEntity.setDocumentaryAmountAccount(zero); sysUserAccountEntity.setDocumentaryAmountWithdrawal(zero); sysUserAccountEntity.setDocumentaryAmountpayment(zero); sysUserAccountEntity.setPromotionAmountWithdrawal(zero); sysUserAccountEntity.setPromotionAmountAccount(zero); sysUserAccountEntity.setPromotionAmountPayment(zero); sysUserAccountEntity.setCreateTime(new Date()); if (StringUtils.isNotEmpty(sysUserAccount.getDocumentaryStatus())) { sysUserAccountEntity.setDocumentaryStatus(sysUserAccount.getDocumentaryStatus()); } baseMapper.insert(sysUserAccountEntity); } if (StringUtils.isNotEmpty(sysUserAccount.getDocumentaryStatus())) { // 判断是否是一级二级三级 SysUserAccountHistory sysUserAccountHistory = new SysUserAccountHistory(); sysUserAccountHistory.setUserId(sysUserAccount.getUserId()); sysUserAccountHistory.setDocumentary(Integer.valueOf(sysUserAccount.getDocumentaryStatus())); sysUserAccountHistory.setSuborder(sysUserAccount.getSuborderId()); //跟单费 if (sysUserAccount.getDocumentary() != null && sysUserAccount.getDocumentary().compareTo(BigDecimal.ZERO) != 0) { sysUserAccountHistory.setAmount(sysUserAccount.getDocumentary()); sysUserAccountHistory.setProperty(MoneyAttrConstants.M_2.getCode()); if (WithdrawTypeConstants.WT_2.getCode().equals(sysUserAccount.getDocumentaryStatus())) { // 收入 相加 sysUserAccountHistory.setSurplusAmount(sysUserAccountEntity.getDocumentary()); } else { BigDecimal subtract = newSysAccount.getDocumentary().subtract(sysUserAccount.getDocumentary()); sysUserAccountHistory.setSurplusAmount(subtract); } sysUserAccountHistoryService.updayteByUserAccount(sysUserAccountHistory); } //手续费 if (sysUserAccount.getHandlingFee() != null && sysUserAccount.getHandlingFee().compareTo(BigDecimal.ZERO) != 0) { sysUserAccountHistory.setId(null); sysUserAccountHistory.setAmount(sysUserAccount.getHandlingFee()); sysUserAccountHistory.setProperty(MoneyAttrConstants.M_1.getCode()); if (WithdrawTypeConstants.WT_2.getCode().equals(sysUserAccount.getDocumentaryStatus())) { // 收入 相加 sysUserAccountHistory.setSurplusAmount(sysUserAccountEntity.getHandlingFee()); } else { BigDecimal subtract = newSysAccount.getHandlingFee().subtract(sysUserAccount.getHandlingFee()); sysUserAccountHistory.setSurplusAmount(subtract); } sysUserAccountHistoryService.updayteByUserAccount(sysUserAccountHistory); } //推广费 if (sysUserAccount.getPromotion() != null && sysUserAccount.getPromotion().compareTo(BigDecimal.ZERO) != 0) { sysUserAccountHistory.setId(null); sysUserAccountHistory.setAmount(sysUserAccount.getPromotion()); sysUserAccountHistory.setProperty(MoneyAttrConstants.M_3.getCode()); if (WithdrawTypeConstants.WT_2.getCode().equals(sysUserAccount.getDocumentaryStatus())) { // 收入 相加 sysUserAccountHistory.setSurplusAmount(sysUserAccountEntity.getPromotion()); } else { BigDecimal subtract = newSysAccount.getPromotion().subtract(sysUserAccount.getPromotion()); sysUserAccountHistory.setSurplusAmount(subtract); } sysUserAccountHistoryService.updayteByUserAccount(sysUserAccountHistory); } } } @Override public BasePageResult queryByVo(SysUserAccountVo sysUserAccountVo) { Page page = new Page<>(sysUserAccountVo.getPageNum(), sysUserAccountVo.getPageSize()); Page sysUserAccountHistoryPage = baseMapper.queryPageOrder(sysUserAccountVo, page); return new BasePageResult<>(sysUserAccountVo.getPageNum(), page.getSize(), sysUserAccountHistoryPage.getTotal(), page.getPages(), sysUserAccountHistoryPage.getRecords()); } @Override @Transactional public HttpResult inert(SysUserAccountVo sysUserAccountVo) { String userId = BaseController.getUser().getId(); BigDecimal zero = BigDecimal.ZERO; BigDecimal beforeAmount; BigDecimal afterAmount; // 用户当前金额 BigDecimal amount = sysUserAccountVo.getAmount(); SysUserAccountHistory sysUserAccountHistory = new SysUserAccountHistory(); // 记录 sysUserAccountHistory.setDocumentary(1); // 1提现 sysUserAccountHistory.setUserId(userId); SysAmountAuditingEntity sysAmountAuditingEntity = new SysAmountAuditingEntity();//审核记录表 sysAmountAuditingEntity.setUserId(userId); sysAmountAuditingEntity.setAmount(sysUserAccountVo.getAmount()); SysAmountAuditingEntity judge = sysAmountAuditingService.getByUserId(userId, sysUserAccountVo.getAmountStatus()); if (ObjectUtils.isNotEmpty(judge)) { return HttpResult.ok("有未提现审核单据, 请审核完成之后再提现"); } // 通过银行卡id 查询卡包 Long fromBankCardId = sysUserAccountVo.getFromBankCardId(); if (fromBankCardId != null) { SysUserBankCard byId = sysUserBankCardService.getById(fromBankCardId); String bankUserId = byId.getUserId(); if (!userId.equals(bankUserId)) { return HttpResult.ok("非本人提现"); } byId.setIsDefault(1); sysAmountAuditingEntity.setBankNumber(byId.getBankNumber()); sysUserAccountHistory.setFromBankCard(byId.getBankNumber()); sysUserBankCardService.updateById(byId); } if (StringUtils.isNotEmpty(userId)) { SysUserAccount sysUserAccount = baseMapper.getById(userId); if (StringUtils.isNotEmpty(sysUserAccountVo.getAmountStatus())) { sysUserAccountHistory.setProperty(Integer.valueOf(sysUserAccountVo.getAmountStatus())); //金额类型 if ("1".equals(sysUserAccountVo.getAmountStatus())) { // 用户当前费用金 beforeAmount = sysUserAccount.getHandlingFee(); afterAmount = beforeAmount.subtract(amount); sysUserAccount.setHandlingFee(afterAmount); sysUserAccount.setHandlingAmountPayment(amount); sysUserAccount.setHandlingAmountWithdrawal(sysUserAccount.getHandlingAmountWithdrawal().add(amount)); } else if ("2".equals(sysUserAccountVo.getAmountStatus())) { // 用户当前 非跟单佣金 beforeAmount = sysUserAccount.getDocumentary(); afterAmount = beforeAmount.subtract(amount); sysUserAccount.setDocumentary(afterAmount); sysUserAccount.setDocumentaryAmountpayment(amount); sysUserAccount.setDocumentaryAmountWithdrawal(sysUserAccount.getDocumentaryAmountWithdrawal().add(amount)); } else { beforeAmount = sysUserAccount.getPromotion(); afterAmount = beforeAmount.subtract(amount); sysUserAccount.setPromotion(afterAmount); sysUserAccount.setPromotionAmountPayment(amount); sysUserAccount.setPromotionAmountWithdrawal(sysUserAccount.getPromotionAmountWithdrawal().add(amount)); } // 用户相差 if (beforeAmount.compareTo(zero) == 0 || afterAmount.compareTo(zero) < 0) { return HttpResult.ok("余额不足"); } sysUserAccountHistory.setAmount(amount); // 金额 sysUserAccountHistory.setSurplusAmount(afterAmount); // 剩余金额 sysUserAccountHistory.setUserAmount(beforeAmount); // 用户剩余金额 sysAmountAuditingEntity.setCreateTime(new Date()); sysAmountAuditingEntity.setAuditingStatus("2"); // 2 为待审核 3 审核通过 sysAmountAuditingEntity.setAmountStatus(sysUserAccountVo.getAmountStatus()); // 新增金额记录 sysAmountAuditingService.save(sysAmountAuditingEntity); sysUserAccountHistory.setAuditiingId(sysAmountAuditingEntity.getId()); sysUserAccountService.updateById(sysUserAccount); sysUserAccountHistoryService.updayteByUserAccount(sysUserAccountHistory); } } return HttpResult.ok("提现成功,等待审核"); } @Override public SysUserAccount getSysUserAmount(String userid) { SysUserAccount sysUserAccount = baseMapper.getById(userid); return sysUserAccount; } @Override public SysUserAccountVo getSysAllAmount(String userId) { SysUserAccountVo sysUserAccountVo = new SysUserAccountVo(); SysUserAccount sysUserAccount = baseMapper.getById(userId); BeanUtils.copyProperties(sysUserAccount, sysUserAccountVo); BigDecimal willHalding = BigDecimal.ZERO; //预收手续费佣金 BigDecimal willDocumentary = BigDecimal.ZERO; //预收 非跟单佣金 BigDecimal willPromotion = BigDecimal.ZERO; //预收 推广 StringBuffer stringBuffer = new StringBuffer(); willPromotion = this.willPromotion(willPromotion, userId); // 佣金 // add by hxl 修改sql 添加承保状态和不在审核表中的条件 begin =============== //List willList = insFeeOrderNewService.getByUserId(userId); List willList = insFeeOrderNewService.getByUserIdAndOrderStatusAndNoCheck(userId); // add by hxl end ========================== if (!CollectionUtils.isEmpty(willList)) { for (InsFeeOrderNew item : willList) { String quoteno = item.getInsOrderNo(); stringBuffer.append(quoteno).append(","); if (ObjectUtils.isNotEmpty(item)) { this.willAmount(item, willHalding, willDocumentary, sysUserAccountVo); // 推广 非跟单 } } } // 提现现中 HashMap params = new HashMap<>(); params.put("auditingStatus", "2"); // 待审核 params.put("userId", userId); List sysAmountAuditingProgressIng = sysAmountAuditingService.getProgressIng(params); this.judge(sysAmountAuditingProgressIng, sysUserAccountVo); params.clear(); params.put("auditingStatus", "3"); // 已审核审核 params.put("userId", userId); List sysAmountAuditingApproved = sysAmountAuditingService.getProgressIng(params); this.judgeSysAmountAuditing(sysAmountAuditingApproved, sysUserAccountVo); sysUserAccountVo.setWillPromotion(willPromotion); String ids = stringBuffer.toString(); if (ids.endsWith(",")) { ids = ids.substring(0, ids.length() - 1); // 去掉末尾的逗号 } sysUserAccountVo.setIds(ids); return sysUserAccountVo; } @Override public SysUserAccountVo getInsOrders(SysUserAccountVo sysUserAccountVo) { ArrayList resultList = new ArrayList<>(); HashMap params = new HashMap<>(); params.put("userId", BaseController.getUser().getId()); params.put("timeFiltering", sysUserAccountVo.getTimeFiltering()); if ("3".equals(sysUserAccountVo.getAmountType())) { List sumWillAmountGeneralization = insFeeOrderNewService.getSumWillAmountGeneralization(params); sysUserAccountVo.setInsFeeOrderNewList(sumWillAmountGeneralization); }else { List resultInsFeeOrderNew = insFeeOrderNewService.getSumWillAmount(params); if (!resultInsFeeOrderNew.isEmpty()) { for (InsFeeOrderNew item : resultInsFeeOrderNew) { BigDecimal willPromotion = BigDecimal.ZERO; if ("1".equals(sysUserAccountVo.getAmountType())) { //手续费出口预收 willPromotion = willPromotion.add(item.getJqExportSuperviseCostsPremiums()).add(item.getSyExportSuperviseCostsPremiums()).add(item.getNoExportSuperviseCostsPremiums()); } else if ("2".equals(sysUserAccountVo.getAmountType())) { willPromotion = willPromotion.add(item.getJqExportOtherCostsPremiums()).add(item.getSyExportOtherCostsPremiums()).add(item.getNoExportOtherCostsPremiums()); } item.setWillAmount(willPromotion); if (willPromotion.compareTo(BigDecimal.ZERO) != 0) { resultList.add(item); } } sysUserAccountVo.setInsFeeOrderNewList(resultList); } } return sysUserAccountVo; } private void getWillAmount(InsFeeOrderNew insFeeOrderNew) { if (ObjectUtils.isNotEmpty(insFeeOrderNew)) { //交强手续费出口比例 BigDecimal jqExportProceduresFee = insFeeOrderNew.getJqPremium().multiply(insFeeOrderNew.getJqSuperviseCostsProportion().divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_DOWN); //商业手续费出口比例 BigDecimal syExportProceduresFee = insFeeOrderNew.getSyPremium().multiply(insFeeOrderNew.getSySuperviseCostsProportion().divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_DOWN); //非车手续费出口比例 BigDecimal noExportProceduresFee = insFeeOrderNew.getNoPremium().multiply(insFeeOrderNew.getNoSuperviseCostsProportion().divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_DOWN); //非车出口比例 //总机构 交强管理比例 BigDecimal sumJqDeptProportion = insFeeOrderNew.getJqDeptProportionLevel1() .add(insFeeOrderNew.getJqDeptProportionLevel2()) .add(insFeeOrderNew.getJqDeptProportionLevel3()) .add(insFeeOrderNew.getJqDeptProportionLevel4()) .add(insFeeOrderNew.getJqDeptProportionLevel5()); //总机构 商业管理比例 BigDecimal sumSyDeptProportion = insFeeOrderNew.getSyDeptProportionLevel1() .add(insFeeOrderNew.getSyDeptProportionLevel2()) .add(insFeeOrderNew.getSyDeptProportionLevel3()) .add(insFeeOrderNew.getSyDeptProportionLevel4()) .add(insFeeOrderNew.getSyDeptProportionLevel5()); //总机构 非车管理比例 BigDecimal sumNoDeptProportion = insFeeOrderNew.getNoDeptProportionLevel1() .add(insFeeOrderNew.getNoDeptProportionLevel2()) .add(insFeeOrderNew.getNoDeptProportionLevel3()) .add(insFeeOrderNew.getNoDeptProportionLevel4()) .add(insFeeOrderNew.getNoDeptProportionLevel5()); BigDecimal noExportProceduresProportion = new BigDecimal(0); //总分销比例 BigDecimal sumRetail = insFeeOrderNew.getFirstDetailProportion().add(insFeeOrderNew.getSecondDetailProportion()).add(insFeeOrderNew.getThirdDetailProportion()); if (insFeeOrderNew.getNoCostsProportion().compareTo(sumNoDeptProportion.add(sumRetail)) > 0) { noExportProceduresProportion = insFeeOrderNew.getNoCostsProportion().subtract(sumNoDeptProportion).subtract(sumRetail); } //商业出口比例 BigDecimal syExportProceduresProportion = new BigDecimal(0); if (insFeeOrderNew.getSyCostsProportion().compareTo(sumSyDeptProportion.add(sumRetail)) > 0) { syExportProceduresProportion = insFeeOrderNew.getSyCostsProportion().subtract(sumSyDeptProportion).subtract(sumRetail); } //交强出口比例 BigDecimal jqExportProceduresProportion = new BigDecimal(0); if (insFeeOrderNew.getJqCostsProportion().compareTo(sumJqDeptProportion.add(sumRetail)) > 0) { jqExportProceduresProportion = insFeeOrderNew.getJqCostsProportion().subtract(sumJqDeptProportion).subtract(sumRetail); } //交强跟单出口费用 BigDecimal jqExportOtherFee = insFeeOrderNew.getJqPremium() .multiply(jqExportProceduresProportion .subtract(insFeeOrderNew.getJqSuperviseCostsProportion()).divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_DOWN); //商业跟单出口比例 BigDecimal syExportOtherFee = insFeeOrderNew.getSyPremium() .multiply(syExportProceduresProportion .subtract(insFeeOrderNew.getSySuperviseCostsProportion()).divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_DOWN); //非车跟单出口比例 BigDecimal noExportOtherFee = insFeeOrderNew.getNoPremium() .multiply(noExportProceduresProportion .subtract(insFeeOrderNew.getNoSuperviseCostsProportion()).divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_DOWN); if (StringUtils.isNotEmpty(insFeeOrderNew.getAmountType())) { if ("1".equals(insFeeOrderNew.getAmountType())) { //用户出口手续费 insFeeOrderNew.setWillAmount(jqExportProceduresFee.add(syExportProceduresFee).add(noExportProceduresFee)); } if ("2".equals(insFeeOrderNew.getAmountType())) { //用户出口跟单费 insFeeOrderNew.setWillAmount(jqExportOtherFee.add(syExportOtherFee).add(noExportOtherFee)); } } } } private BigDecimal getWillPromotion(InsFeeOrderNew insFeeOrderNew, BigDecimal willPromotion) { InsOrders InsOrders = insAreaCompanyService.selectByInFeeOrderNew(insFeeOrderNew); if (ObjectUtils.isNotEmpty(InsOrders)) { BigDecimal willFirstPremiums = ObjectUtils.defaultIfNull(InsOrders.getWillFirstPremiums(), BigDecimal.ZERO); // 累加保费 willPromotion = willPromotion.add(willFirstPremiums); } return willPromotion; } private void judgeSysAmountAuditing(List sysAmountAuditingApproved, SysUserAccountVo sysUserAccountVo) { if (!CollectionUtils.isEmpty(sysAmountAuditingApproved)) { for (SysAmountAuditingEntity item : sysAmountAuditingApproved) { if ("1".equals(item.getAmountStatus())) { //手续费 BigDecimal amount = item.getAmount(); sysUserAccountVo.setApprovedHalding(amount); } if ("2".equals(item.getAmountStatus())) { //非跟单 BigDecimal amount = item.getAmount(); sysUserAccountVo.setApprovedDocumentary(amount); } if ("3".equals(item.getAmountStatus())) { //推广费 BigDecimal amount = item.getAmount(); sysUserAccountVo.setApprovedPromotion(amount); } } } } private void judge(List sysAmountAuditingProgressIng, SysUserAccountVo sysUserAccountVo) { if (!CollectionUtils.isEmpty(sysAmountAuditingProgressIng)) { for (SysAmountAuditingEntity item : sysAmountAuditingProgressIng) { if ("1".equals(item.getAmountStatus())) { //手续费 BigDecimal amount = item.getAmount(); sysUserAccountVo.setWithdrawalHalding(amount); } if ("2".equals(item.getAmountStatus())) { //非跟单 BigDecimal amount = item.getAmount(); sysUserAccountVo.setWithdrawalDocumentary(amount); } if ("3".equals(item.getAmountStatus())) { //推广费 BigDecimal amount = item.getAmount(); sysUserAccountVo.setWithdrawalPromotion(amount); } } } } private BigDecimal willPromotion(BigDecimal willPromotion, String userId) { InsFeeOrderNew insFeeOrderNew = new InsFeeOrderNew(); insFeeOrderNew.setUserId(userId); InsOrders InsOrders = insAreaCompanyService.selectByInFeeOrderNew(insFeeOrderNew); if (ObjectUtils.isNotEmpty(InsOrders)) { BigDecimal willFirstPremiums = ObjectUtils.defaultIfNull(InsOrders.getWillFirstPremiums(), BigDecimal.ZERO); // 累加保费 willPromotion = willPromotion.add(willFirstPremiums); } return willPromotion; } private void willAmount(InsFeeOrderNew insFeeOrderNew, BigDecimal willHalding, BigDecimal willDocumentary, SysUserAccountVo sysUserAccountVo) { if (ObjectUtils.isNotEmpty(insFeeOrderNew)) { //交强手续费 BigDecimal jqExportProceduresFee = insFeeOrderNew.getJqExportSuperviseCostsPremiums(); //商业手续费 BigDecimal syExportProceduresFee = insFeeOrderNew.getSyExportSuperviseCostsPremiums(); //非车手续费 BigDecimal noExportProceduresFee = insFeeOrderNew.getNoExportSuperviseCostsPremiums(); if (sysUserAccountVo.getWillHalding() == null) { sysUserAccountVo.setWillHalding(BigDecimal.ZERO); } sysUserAccountVo.setWillHalding(sysUserAccountVo.getWillHalding().add(jqExportProceduresFee).add(syExportProceduresFee).add(noExportProceduresFee)); //交强跟单出口费用 BigDecimal jqExportOtherCostsPremiums = insFeeOrderNew.getJqExportOtherCostsPremiums(); //商业跟单出口费用 BigDecimal syExportOtherCostsPremiums = insFeeOrderNew.getSyExportOtherCostsPremiums(); //非车跟单出口费用 BigDecimal noExportOtherCostsPremiums = insFeeOrderNew.getNoExportOtherCostsPremiums(); //用户出口跟单费 if (sysUserAccountVo.getWillDocumentary() == null) { sysUserAccountVo.setWillDocumentary(BigDecimal.ZERO); } sysUserAccountVo.setWillDocumentary(sysUserAccountVo.getWillDocumentary().add(jqExportOtherCostsPremiums).add(syExportOtherCostsPremiums).add(noExportOtherCostsPremiums)); } } }