diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java index b2f0a812..d525bf09 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java @@ -87,23 +87,23 @@ public class SaOrderServiceImpl extends ServiceImpl impl @DubboReference IMemberServiceApi iMemberServiceApi; @DubboReference - IMemberBankServiceApi memberBankServiceApi; + IMemberBankServiceApi iMemberBankServiceApi; @DubboReference - IMemberAccountServiceApi memberAccountServiceApi; + IMemberAccountServiceApi iMemberAccountServiceApi; @DubboReference - IAreaCurrencyServiceApi areaCurrencyServiceApi; + IAreaCurrencyServiceApi iAreaCurrencyServiceApi; @DubboReference - ICountryServiceApi countryServiceApi; + ICountryServiceApi iCountryServiceApi; @DubboReference - ICurrencyServiceApi currencyServiceApi; + ICurrencyServiceApi iCurrencyServiceApi; @DubboReference - IApprovalServiceApi approvalServiceApi; + IApprovalServiceApi iApprovalServiceApi; @DubboReference - ISystemConfigServiceApi systemConfigServiceApi; + ISystemConfigServiceApi iSystemConfigServiceApi; @DubboReference - ICuMemberServiceLogServiceApi cuMemberServiceLogServiceApi; + ICuMemberServiceLogServiceApi iCuMemberServiceLogServiceApi; @DubboReference - IMemberTradeServiceApi memberTradeServiceApi; + IMemberTradeServiceApi iMemberTradeServiceApi; @DubboReference IGradeServiceApi iGradeServiceApi; @@ -207,7 +207,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl @Override public List queryMemberAccountByCondition(CuMemberAccount cuMemberAccount) { - return memberAccountServiceApi.queryMemberAccountByCondition(cuMemberAccount).getData(); + return iMemberAccountServiceApi.queryMemberAccountByCondition(cuMemberAccount).getData(); } @Override @@ -232,13 +232,13 @@ public class SaOrderServiceImpl extends ServiceImpl impl cuMemberAccount.setMemberCode(creator.getMemberCode()); // 查询专区所属币种 - List areaCurrencyDTOList = areaCurrencyServiceApi.queryAreaCurrencyByCondition(saOrder.getOrderType(), cuMemberAccount.getPkCountry()).getData(); + List areaCurrencyDTOList = iAreaCurrencyServiceApi.queryAreaCurrencyByCondition(saOrder.getOrderType(), cuMemberAccount.getPkCountry()).getData(); // 验证是否是跨国保单,登录结算国!=结算国,跨国报单修改支付金额 if (!Objects.equals(cuMemberAccount.getPkCountry(), saOrder.getPkCountry())) { // 结算国当地币 转美金 美金登录当地币 - CurrencyDTO loginCountryCurrency = currencyServiceApi.getCurrency(cuMemberAccount.getPkCountry()).getData(); - CurrencyDTO settleCountryCurrency = currencyServiceApi.getCurrency(saOrder.getPkCountry()).getData(); + CurrencyDTO loginCountryCurrency = iCurrencyServiceApi.getCurrency(cuMemberAccount.getPkCountry()).getData(); + CurrencyDTO settleCountryCurrency = iCurrencyServiceApi.getCurrency(saOrder.getPkCountry()).getData(); if (settleCountryCurrency.getInExchangeRate().compareTo(loginCountryCurrency.getInExchangeRate()) != 0) { // 订单结算国与登录结算国汇率不相同才进行处理 payMoney = ComputeUtil.computeMultiply(ComputeUtil.computeDivide(payMoney, settleCountryCurrency.getInExchangeRate()), loginCountryCurrency.getInExchangeRate()); @@ -252,7 +252,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl if (saOrderItems.getPkSpecialCurrency() != null) { BigDecimal orderItemPayMoney = ComputeUtil.computeMultiply(saOrderItems.getPrice(), saOrderItems.getQuantity()); payMoney = ComputeUtil.computeSubtract(payMoney, orderItemPayMoney); - List areaCurrencyDtoList = areaCurrencyServiceApi.queryAreaCurrencyByCondition(saOrderItems.getPkSpecialCurrency()).getData(); + List areaCurrencyDtoList = iAreaCurrencyServiceApi.queryAreaCurrencyByCondition(saOrderItems.getPkSpecialCurrency()).getData(); if (!handleSaOrderAmount(saOrder, orderItemList, cuMemberAccount, orderItemPayMoney, BigDecimal.ZERO, areaCurrencyDtoList)) { return null; } @@ -287,7 +287,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl if (EOrderType.REGISTER_ORDER.getValue() == saOrder.getOrderType()) { if (cuMemberAccount.getPayAccount3Flag()) { // 验证是否有政策币权限 - List cuMemberServiceLogs = cuMemberServiceLogServiceApi.queryMaxCuMemberServiceLog(cuMemberAccount.getPkMember(), Collections.singletonList(EApprovalBusiness.POLICY_CURRENCY_YES_NO.getValue())); + List cuMemberServiceLogs = iCuMemberServiceLogServiceApi.queryMaxCuMemberServiceLog(cuMemberAccount.getPkMember(), Collections.singletonList(EApprovalBusiness.POLICY_CURRENCY_YES_NO.getValue())); if (CollectionUtil.isNotEmpty(cuMemberServiceLogs)) { Map cuMemberServiceLogMap = new HashMap<>(ComputeUtil.mapInitCapacity(cuMemberServiceLogs.size())); cuMemberServiceLogs.forEach(serviceLog -> cuMemberServiceLogMap.put(serviceLog.getEditType(), serviceLog)); @@ -474,7 +474,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl || orderBlankRegParams.getProcessType() == EProcessType.DOUBLEAVOID.getValue()) { //添加修改记录表数据 memberLog.setApproveStatus(EApproveStatus.FINISH.getValue()); - cuMemberServiceLogServiceApi.insert(memberLog); + iCuMemberServiceLogServiceApi.insert(memberLog); // 主要业务 //创建用户 CuMemberExt memberExt = createMember(orderBlankRegParams); @@ -495,12 +495,12 @@ public class SaOrderServiceImpl extends ServiceImpl impl Set memberSet = new HashSet<>(); memberSet.add(loginUser.getUserId()); memberLog.setApproveStatus(EApproveStatus.ALREADY_SUBMIT.getValue()); - cuMemberServiceLogServiceApi.insert(memberLog); + iCuMemberServiceLogServiceApi.insert(memberLog); ApprovalSubmitDTO approvalSubmitDTO = ApprovalSubmitDTO.builder().eApprovalBusiness(EApprovalBusiness.EMPTY_ORDER) .businessCode(code) .signType(ESignType.getEnumByValue(orderBlankRegParams.getSignType())) .remark(orderBlankRegParams.getRemark()).pkMemberList(memberSet).build(); - R submit = approvalServiceApi.submit(approvalSubmitDTO, loginUser); + R submit = iApprovalServiceApi.submit(approvalSubmitDTO, loginUser); if (!submit.isSuccess()) { log.error("====" + submit.getData()); throw new ServiceException(TransactionUtils.getContent(ConfigMsgConstants.MEMBER_UPDATE_PETITION)); @@ -513,7 +513,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl businessCommissionDTO.setPkCountry(pkCountry); businessCommissionDTO.setMemberAmountDTOList(orderBlankRegParams.getMemberAmountDTOList()); businessCommissionDTO.setTradeType(EApprovalBusiness.EMPTY_ORDER.getValue()); - R b = memberTradeServiceApi.businessCommissionSubmit(businessCommissionDTO); + R b = iMemberTradeServiceApi.businessCommissionSubmit(businessCommissionDTO); if (!b.getData()) { throw new ServiceException(TransactionUtils.getContent(ConfigMsgConstants.MEMBER_UPDATE_CODE_MONEY)); } @@ -533,7 +533,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl saOrder.setOrderCode(orderCode); // 虚拟订单 saOrder.setOrderType(EOrderType.FICTITIOUS_ORDER.getValue()); - R currency = currencyServiceApi.getCurrency(orderBlankRegParams.getPkSettleCountry()); + R currency = iCurrencyServiceApi.getCurrency(orderBlankRegParams.getPkSettleCountry()); saOrder.setPkRate(currency.getData().getPkId()); saOrder.setOrderAmount(orderBlankRegParams.getRegisterPrice()); saOrder.setOrderAchieve(orderBlankRegParams.getRegisterPv()); @@ -605,7 +605,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl memberBank.setPhone(orderBlankRegParams.getReservedPhone()); memberBank.setIdCard(orderBlankRegParams.getIdCard()); memberBank.setPkMember(member.getPkId()); - memberBankServiceApi.addBankInfo(memberBank); + iMemberBankServiceApi.addBankInfo(memberBank); } return saOrder; } @@ -823,7 +823,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl @Override public String querySystemConfigByKey(Integer pkCountry, String key) { - return systemConfigServiceApi.getBonusSystemConfig(pkCountry, key).getData(); + return iSystemConfigServiceApi.getBonusSystemConfig(pkCountry, key).getData(); } @Override @@ -995,7 +995,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl @Override public Boolean regEmptyOrderApproved(ApprovalBusinessResultDTO approvalBusinessResultDTO) { - R cuMemberServiceLogR = cuMemberServiceLogServiceApi.selectByBusinessNo(approvalBusinessResultDTO.getBusinessCode()); + R cuMemberServiceLogR = iCuMemberServiceLogServiceApi.selectByBusinessNo(approvalBusinessResultDTO.getBusinessCode()); OrderBlankRegParams orderBlankRegParams = JSONUtil.toBean(cuMemberServiceLogR.getData().getNewValue(), OrderBlankRegParams.class); // 调用空单注册方法 this.registerEmptyOrder(orderBlankRegParams); @@ -1004,14 +1004,14 @@ public class SaOrderServiceImpl extends ServiceImpl impl @Override public Boolean regEmptyOrderReject(ApprovalBusinessResultDTO approvalBusinessResultDTO) { - R cuMemberServiceLogR = cuMemberServiceLogServiceApi.selectByBusinessNo(approvalBusinessResultDTO.getBusinessCode()); + R cuMemberServiceLogR = iCuMemberServiceLogServiceApi.selectByBusinessNo(approvalBusinessResultDTO.getBusinessCode()); OrderBlankRegParams orderBlankRegParams = JSONUtil.toBean(cuMemberServiceLogR.getData().getNewValue(), OrderBlankRegParams.class); CuMemberServiceLog memberLog = new CuMemberServiceLog(); memberLog.setBusinessNo(approvalBusinessResultDTO.getBusinessCode()); memberLog.setPkModified(approvalBusinessResultDTO.getLoginUser().getUserId()); memberLog.setModifiedTime(DateUtils.currentDateTime()); memberLog.setApproveStatus(EApproveStatus.REJECTED.getValue()); - cuMemberServiceLogServiceApi.updateByBusinessNo(memberLog); + iCuMemberServiceLogServiceApi.updateByBusinessNo(memberLog); List memberAmountDTOList = new ArrayList<>(); MemberAmountDTO memberAmountDTO = new MemberAmountDTO(); memberAmountDTO.setPkMember(approvalBusinessResultDTO.getLoginUser().getUserId()); @@ -1026,7 +1026,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl businessCommissionDTO.setPkCountry(orderBlankRegParams.getPkCountry()); businessCommissionDTO.setMemberAmountDTOList(memberAmountDTOList); businessCommissionDTO.setTradeType(EApprovalBusiness.UPDATE_SETTLE_COUNTRY.getValue()); - R b = memberTradeServiceApi.businessCommissionSubmit(businessCommissionDTO); + R b = iMemberTradeServiceApi.businessCommissionSubmit(businessCommissionDTO); if (!b.getData()) { throw new ServiceException(ConfigMsgConstants.MEMBER_UPDATE_CODE_MONEY); } @@ -1035,9 +1035,9 @@ public class SaOrderServiceImpl extends ServiceImpl impl @Override public void closeOrder() { - R> configMap = systemConfigServiceApi.getSystemConfig(); + R> configMap = iSystemConfigServiceApi.getSystemConfig(); Map configDate = configMap.getData(); - R> all = countryServiceApi.getAllCountryMap(); + R> all = iCountryServiceApi.getAllCountryMap(); Set> entries = all.getData().entrySet(); for (Map.Entry entry : entries) { @@ -1088,7 +1088,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl public CuMemberMyMarketVO selectMyMarket(Long pkMember, Integer pkCountry) { //查询全国市场 CuMemberMyMarketVO cuMemberMyMarketVO = baseMapper.selectMyMarket(null, pkCountry); - CountryDTO country = countryServiceApi.getCountry(pkCountry).getData(); + CountryDTO country = iCountryServiceApi.getCountry(pkCountry).getData(); //查询市场分布 List cuMemberMyMarketDetailVOList = baseMapper.selectMyMarketDetail(pkMember, pkCountry); cuMemberMyMarketVO.setMyMarketDetailVOList(cuMemberMyMarketDetailVOList); @@ -1221,10 +1221,10 @@ public class SaOrderServiceImpl extends ServiceImpl impl cuMemberAccount.setMemberCode(creator.getMemberCode()); // 查询专区所属币种 - List areaCurrencyDTOList = areaCurrencyServiceApi.queryAreaCurrencyByCondition(ESpecialArea.getRetailSpecialAreaValue(saOrder.getOrderType()), cuMemberAccount.getPkCountry()).getData(); + List areaCurrencyDTOList = iAreaCurrencyServiceApi.queryAreaCurrencyByCondition(ESpecialArea.getRetailSpecialAreaValue(saOrder.getOrderType()), cuMemberAccount.getPkCountry()).getData(); // 验证会员是否存在特殊消费配置 - List memberCurrencyDTOList = areaCurrencyServiceApi.queryMemberCurrency(ESpecialArea.getRetailSpecialAreaValue(saOrder.getOrderType()), cuMemberAccount.getPkMember()).getData(); + List memberCurrencyDTOList = iAreaCurrencyServiceApi.queryMemberCurrency(ESpecialArea.getRetailSpecialAreaValue(saOrder.getOrderType()), cuMemberAccount.getPkMember()).getData(); if (CollectionUtil.isNotEmpty(memberCurrencyDTOList)) { areaCurrencyDTOList = memberCurrencyDTOList; } else { @@ -1234,7 +1234,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl if (saOrderItems.getPkSpecialCurrency() != null) { BigDecimal orderItemPayMoney = ComputeUtil.computeMultiply(saOrderItems.getPrice(), saOrderItems.getQuantity()); payMoney = ComputeUtil.computeSubtract(payMoney, orderItemPayMoney); - List areaCurrencyDtoList = areaCurrencyServiceApi.queryAreaCurrencyByCondition(saOrderItems.getPkSpecialCurrency()).getData(); + List areaCurrencyDtoList = iAreaCurrencyServiceApi.queryAreaCurrencyByCondition(saOrderItems.getPkSpecialCurrency()).getData(); if (!handleRetailSaOrderAmount(saOrder, cuMemberAccount, orderItemPayMoney, BigDecimal.ZERO, areaCurrencyDtoList)) { return null; @@ -1281,7 +1281,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl if (EOrderType.RETAIL_REGISTER.getValue() == saOrder.getOrderType()) { if (cuMemberAccount.getPayAccount3Flag()) { // 验证是否有政策币权限 - List cuMemberServiceLogs = cuMemberServiceLogServiceApi.queryMaxCuMemberServiceLog(cuMemberAccount.getPkMember(), Collections.singletonList(EApprovalBusiness.POLICY_CURRENCY_YES_NO.getValue())); + List cuMemberServiceLogs = iCuMemberServiceLogServiceApi.queryMaxCuMemberServiceLog(cuMemberAccount.getPkMember(), Collections.singletonList(EApprovalBusiness.POLICY_CURRENCY_YES_NO.getValue())); if (CollectionUtil.isNotEmpty(cuMemberServiceLogs)) { Map cuMemberServiceLogMap = new HashMap<>(ComputeUtil.mapInitCapacity(cuMemberServiceLogs.size())); cuMemberServiceLogs.forEach(serviceLog -> cuMemberServiceLogMap.put(serviceLog.getEditType(), serviceLog)); @@ -1408,6 +1408,21 @@ public class SaOrderServiceImpl extends ServiceImpl impl } } + if (EOrderType.RETAIL_REGISTER.getValue() == saOrderExt.getOrderType() + || EOrderType.RETAIL_UPGRADE.getValue() == saOrderExt.getOrderType() + || EOrderType.RETAIL_REPURCHASE.getValue() == saOrderExt.getOrderType()) { + // 判断处理支付状态和时间 + Date firstPayTime = baseMapper.getFirstPayTime(saOrderExt.getPkMember()); + if (null == firstPayTime) { + cuMember.setPayTime(null); + cuMember.setPayStatus(EPayStatus.UNPAID.getValue()); + } else { + if (firstPayTime.compareTo(cuMember.getPayTime()) < 0) { + cuMember.setPayTime(firstPayTime); + } + } + } + if (!iMemberServiceApi.normalRevokeOrder(pkApprove, saOrderExt, cuMember, businessCommissionDTO).getData()) { throw new ServiceException("撤单处理会员失败"); } diff --git a/bd-business/bd-business-sale/src/main/resources/mapper/sale/order/SaOrderMapper.xml b/bd-business/bd-business-sale/src/main/resources/mapper/sale/order/SaOrderMapper.xml index c2716ddb..82d7857d 100644 --- a/bd-business/bd-business-sale/src/main/resources/mapper/sale/order/SaOrderMapper.xml +++ b/bd-business/bd-business-sale/src/main/resources/mapper/sale/order/SaOrderMapper.xml @@ -1308,8 +1308,7 @@ where so.del_flag = 0 and so.order_status = 1 and so.pk_member = #{pkMember} - and so.order_type in (41, 42) - and so.box_num != 0 + and so.order_type in (41, 42, 43)