|
|
@@ -1,13 +1,11 @@
|
|
|
package com.ruoyi.logistics.service.impl;
|
|
|
|
|
|
-import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.lop.open.api.sdk.domain.ECAP.CommonQueryOrderApi.commonGetActualFeeInfoV1.CommonActualFeeInfoDetailResponse;
|
|
|
import com.lop.open.api.sdk.domain.ECAP.CommonQueryOrderApi.commonGetActualFeeInfoV1.CommonActualFeeResponse;
|
|
|
import com.lop.open.api.sdk.domain.ECAP.CommonQueryOrderApi.commonGetOrderByMonthSettleQRV1.CommonMonthSettleQRQueryResponse;
|
|
|
import com.lop.open.api.sdk.domain.ECAP.CommonQueryOrderApi.commonGetOrderByMonthSettleQRV1.WaybillQRVerifyInfo;
|
|
|
import com.lop.open.api.sdk.domain.ECAP.CommonQueryOrderApi.commonGetOrderInfoV1.addedProducts;
|
|
|
-import com.ruoyi.common.core.exception.ServiceException;
|
|
|
import com.ruoyi.common.core.utils.DateUtils;
|
|
|
import com.ruoyi.common.core.utils.StringUtils;
|
|
|
import com.ruoyi.common.redis.service.RedisIdGenerator;
|
|
|
@@ -22,19 +20,24 @@ import com.ruoyi.logistics.mapper.BizMonthQrcodeRecordMapper;
|
|
|
import com.ruoyi.logistics.mapper.BizWaybillCostDetailsMapper;
|
|
|
import com.ruoyi.logistics.mapper.BizWaybillOrderMapper;
|
|
|
import com.ruoyi.logistics.response.CommonOrderInfoResponse;
|
|
|
-import com.ruoyi.logistics.service.*;
|
|
|
+import com.ruoyi.logistics.service.FeeItemsCacheService;
|
|
|
+import com.ruoyi.logistics.service.IMonthQRCodeTaskService;
|
|
|
+import com.ruoyi.logistics.service.LogisticsOrderService;
|
|
|
import com.ruoyi.system.api.domain.SysDept;
|
|
|
import com.ruoyi.system.api.domain.SysUser;
|
|
|
import com.ruoyi.system.mapper.SysDeptMapper;
|
|
|
import com.ruoyi.system.mapper.SysUserMapper;
|
|
|
+import com.ruoyi.system.service.ISysConfigService;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
-import java.time.LocalDateTime;
|
|
|
-import java.util.*;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Collection;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@Slf4j
|
|
|
@@ -68,6 +71,9 @@ public class MonthQRCodeTaskServiceImpl implements IMonthQRCodeTaskService {
|
|
|
@Autowired
|
|
|
private BizMonthQrcodeRecordMapper bizMonthQrcodeRecordMapper;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private ISysConfigService sysConfigService;
|
|
|
+
|
|
|
@Override
|
|
|
public void consumeQRCode() {
|
|
|
Collection<String> keys = redisService.keys(RedisCacheConstants.MONTH_QRCODE_CACHE_KEY + "*");
|
|
|
@@ -190,6 +196,9 @@ public class MonthQRCodeTaskServiceImpl implements IMonthQRCodeTaskService {
|
|
|
|
|
|
private List<BizWaybillCostDetails> assembleJDCostDetails(SysDept sysDept, BizWaybillOrder bizWaybillOrder, List<CommonActualFeeInfoDetailResponse> commonActualFeeInfoDetails) {
|
|
|
List<BizWaybillCostDetails> details = new ArrayList<>();
|
|
|
+
|
|
|
+ String rate = sysConfigService.selectConfigByKey(bizWaybillOrder.getProductCode());
|
|
|
+
|
|
|
commonActualFeeInfoDetails.forEach(item -> {
|
|
|
BizWaybillCostDetails costDetail = new BizWaybillCostDetails();
|
|
|
costDetail.setWaybillId(bizWaybillOrder.getWaybillId());
|
|
|
@@ -202,7 +211,13 @@ public class MonthQRCodeTaskServiceImpl implements IMonthQRCodeTaskService {
|
|
|
costDetail.setFeeItemName(feeItemByExtFeeCode.getFeeItemName());
|
|
|
costDetail.setFeeName(item.getFeeTypeName());
|
|
|
costDetail.setAmount(item.getMoney());
|
|
|
-// costDetail.setRateAmount(item.getMoney().multiply(new BigDecimal(StringUtils.isNotBlank(sysDept.getRateValue()) ? sysDept.getRateValue() : "1")).setScale(2, BigDecimal.ROUND_HALF_UP));
|
|
|
+ if (StringUtils.isNotBlank(rate)) {
|
|
|
+ BigDecimal subtract = new BigDecimal("1").subtract(new BigDecimal(rate).divide(new BigDecimal("100")));
|
|
|
+ costDetail.setPurchaseAmount(subtract.multiply(item.getMoney()).setScale(2, BigDecimal.ROUND_HALF_UP));
|
|
|
+ }
|
|
|
+ if (!feeItemByExtFeeCode.getFeeItemName().equals("快递运费")) {
|
|
|
+ costDetail.setRateAmount(item.getMoney());
|
|
|
+ }
|
|
|
costDetail.setDeptId(bizWaybillOrder.getDeptId());
|
|
|
costDetail.setUserId(bizWaybillOrder.getUserId());
|
|
|
}
|