瀏覽代碼

方法调整

1018653686@qq.com 1 年之前
父節點
當前提交
6f25883d4a

+ 1 - 1
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/jd/constants/JdParamConstant.java

@@ -6,5 +6,5 @@ public class JdParamConstant {
     public static String SERVER_URL = "http://api.jd.com/routerjson";
 
     /**京东订单状态-已完成**/
-    public static final String JD_ORDER_STATE_FINISH = "3";
+    public static final Integer JD_ORDER_STATE_FINISH = 3;
 }

+ 30 - 8
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/jd/impl/JdApiServiceImpl.java

@@ -61,6 +61,7 @@ import javax.annotation.Resource;
 import java.io.IOException;
 import java.nio.charset.StandardCharsets;
 import java.util.*;
+import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.stream.Collectors;
 
 @Slf4j
@@ -354,19 +355,19 @@ public class JdApiServiceImpl implements JdApiService {
                     if(JdParamConstant.JD_ORDER_STATE_FINISH.equals(jdOrder.getState())){
                         List<JdOrderDetails> jdOrderDetailsList = jdOrderDetailsService.lambdaQuery().eq(JdOrderDetails::getJdOrderId, jdOrder.getOrderId()).list();
                         boolean flag = false;
-                        for (JdOrderDetails jdOrderDetails : jdOrderDetailsList) {
-                            String exDesc = "";
-                            if(ObjectUtil.isNotNull(jdOrderDetails.getActualNum()) && ObjectUtil.isNotNull(jdOrderDetails.getConfirmNum()) && jdOrderDetails.getActualNum().compareTo(jdOrderDetails.getConfirmNum()) != 0){
+                        for (JdOrderDetails jdOrderDetail : jdOrderDetailsList) {
+                            if(ObjectUtil.isNotNull(jdOrderDetail.getActualNum()) && ObjectUtil.isNotNull(jdOrderDetail.getConfirmNum()) && jdOrderDetail.getActualNum().compareTo(jdOrderDetail.getConfirmNum()) != 0){
                                 flag = true;
-                                if (jdOrderDetails.getActualNum().compareTo(jdOrderDetails.getConfirmNum()) > 0){
+                                String exDesc = "";
+                                if (jdOrderDetail.getActualNum().compareTo(jdOrderDetail.getConfirmNum()) > 0){
                                     exDesc = RunParamConstant.EXCESS;
                                 }else {
                                     exDesc = RunParamConstant.SHORTAGE;
                                 }
-                                jdOrderDetails.setExDesc(exDesc);
-                                jdOrderDetails.setExHandle(RunParamConstant.EXCEPTION);
-                                jdOrderDetails.setHandleStatus(RunParamConstant.EXCEPTION_STATE_UNTREATED);
-                                jdOrderDetailsService.updateById(jdOrderDetails);
+                                jdOrderDetail.setExDesc(exDesc);
+                                jdOrderDetail.setHasEx(RunParamConstant.EXCEPTION);
+                                jdOrderDetail.setHandleStatus(RunParamConstant.EXCEPTION_STATE_UNTREATED);
+                                jdOrderDetailsService.updateById(jdOrderDetail);
                             }
                         }
                         if(flag){
@@ -602,6 +603,7 @@ public class JdApiServiceImpl implements JdApiService {
                         List<PurchaseAllocationDetailDto> purchaseAllocationDetailList = josDetailResultDto.getPurchaseAllocationDetailList();
                         List<JdOrderDetails> jdOrderDetails = BeanUtil.copyToList(purchaseAllocationDetailList, JdOrderDetails.class);
                         DynamicDataSourceContextHolder.push(SourceConstant.ITEM);
+                        AtomicBoolean hasExFlag = new AtomicBoolean(false);
                         jdOrderDetails.forEach(item -> {
                             item.setJdOrderId(jdOrder.getId());
                             //产品编码
@@ -612,8 +614,27 @@ public class JdApiServiceImpl implements JdApiService {
                             } else {
                                 item.setProductId(list.get(0).getId());
                             }
+                            if(JdParamConstant.JD_ORDER_STATE_FINISH.equals(jdOrder.getState())){
+                                //如果京东采购单状态 = 已完成  &  明细数据中存在 实收 != 回告,则给京东采购单打上【异常】标记
+                                if(ObjectUtil.isNotNull(item.getActualNum()) && ObjectUtil.isNotNull(item.getConfirmNum()) && item.getActualNum().compareTo(item.getConfirmNum()) != 0){
+                                    String exDesc;
+                                    if (item.getActualNum().compareTo(item.getConfirmNum()) > 0){
+                                        exDesc = RunParamConstant.EXCESS;
+                                    }else {
+                                        exDesc = RunParamConstant.SHORTAGE;
+                                    }
+                                    item.setHasEx(RunParamConstant.EXCEPTION);
+                                    item.setExDesc(exDesc);
+                                    item.setHandleStatus(RunParamConstant.EXCEPTION_STATE_UNTREATED);
+                                    hasExFlag.set(true);
+                                }
+                            }
                         });
                         jdOrderDetailsList.addAll(jdOrderDetails);
+                        if (hasExFlag.get()){
+                            jdOrder.setHasEx(RunParamConstant.EXCEPTION);
+                            jdOrderService.updateById(jdOrder);
+                        }
                     }
                     //            //赋值租户id
                     //            jdOrderList.forEach(item -> item.setTenantId(tenantId));
@@ -862,6 +883,7 @@ public class JdApiServiceImpl implements JdApiService {
         request.setCreatedDateEnd(endTime);
         request.setPageIndex(pageIndex);
         request.setPageSize(pageSize);
+//        request.setOrderIds("1558596581");
         if(CollectionUtil.isNotEmpty(orderIds)){
             request.setOrderIds(orderIds.stream().map(o->StrUtil.toString(orderIds)).collect(Collectors.joining(",")));
         }

+ 1 - 1
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/jd/impl/JdOrderDetailsServiceImpl.java

@@ -65,7 +65,7 @@ public class JdOrderDetailsServiceImpl extends ServiceImpl<JdOrderDetailsMapper,
     @Override
     public Page<JdOrderDetailsVo> jdOrderDetailExList(JdOrderSelectDto dto) {
         Page<JdOrderDetails> page = lambdaQuery()
-                .eq(JdOrderDetails::getHasEx, "1")
+                .eq(JdOrderDetails::getHasEx, RunParamConstant.EXCEPTION)
                 .like(ObjectUtil.isNotNull(dto.getOrderId()), JdOrderDetails::getOrderId, dto.getOrderId())
                 .eq(StrUtil.isNotBlank(dto.getHandleStatus()), JdOrderDetails::getHandleStatus, dto.getHandleStatus())
                 .eq(StrUtil.isNotBlank(dto.getExHandle()), JdOrderDetails::getExHandle, dto.getExHandle())

+ 28 - 29
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/jd/impl/JdOrderServiceImpl.java

@@ -106,35 +106,34 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
     private CompanyInfoService companyInfoService;
 
 
-
     @Override
     public Page<JdOrderVo> getPage(JdOrderSelectDto dto) {
         IWrapper<JdOrder> wrapper = getWrapper();
         wrapper.eq("jo", JdOrder::getOutStatus, dto.getStatus());
         wrapper.orderByDesc("jo", JdOrder::getId);
 
-        wrapper.like(ObjectUtil.isNotNull(dto.getOrderId()),"jo.order_id",dto.getOrderId());
+        wrapper.like(ObjectUtil.isNotNull(dto.getOrderId()), "jo.order_id", dto.getOrderId());
 
         List<Long> jdOrderIdList = new ArrayList<>();
-        if(ObjectUtil.isNotNull(dto.getKeyword())){
+        if (ObjectUtil.isNotNull(dto.getKeyword())) {
             List<JdOrderDetails> list = jdOrderDetailsService.lambdaQuery().like(JdOrderDetails::getWareId, dto.getKeyword()).list();
-            if(CollectionUtil.isNotEmpty(list)){
+            if (CollectionUtil.isNotEmpty(list)) {
                 jdOrderIdList = list.stream().map(JdOrderDetails::getJdOrderId).distinct().collect(Collectors.toList());
             }
         }
 
         wrapper.in(CollectionUtil.isNotEmpty(jdOrderIdList), "jo.id", jdOrderIdList);
-        wrapper.eq(StrUtil.isNotBlank(dto.getBusinessStatus()),"jo.business_status",dto.getBusinessStatus());
-        wrapper.eq(ObjectUtil.isNotNull(dto.getIsCanConfirm()),"jo.is_can_confirm",dto.getIsCanConfirm());
+        wrapper.eq(StrUtil.isNotBlank(dto.getBusinessStatus()), "jo.business_status", dto.getBusinessStatus());
+        wrapper.eq(ObjectUtil.isNotNull(dto.getIsCanConfirm()), "jo.is_can_confirm", dto.getIsCanConfirm());
         wrapper.eq("jo", JdOrder::getState, dto.getState());
         wrapper.eq("jo", JdOrder::getConfirmState, dto.getConfirmState());
         //是否异常
         wrapper.eq("jo", JdOrder::getHasEx, dto.getHasEx());
         //是否备注
-        if(StrUtil.isNotBlank(dto.getHasRemark())) {
-            if (dto.getHasRemark().equals("1")){
+        if (StrUtil.isNotBlank(dto.getHasRemark())) {
+            if (dto.getHasRemark().equals("1")) {
                 wrapper.isNotNull("jo.remark");
-            }else {
+            } else {
                 wrapper.isNull("jo.remark");
             }
         }
@@ -531,8 +530,8 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
                     List<Long> liIds = logisticsInfosList.stream().map(LogisticsInfos::getId).collect(Collectors.toList());
                     AbnormalInfo oldAbnormalInfo = abnormalInfoService.getOne(q -> q
                             .in(AbnormalInfo::getLogisticsInfosId, liIds)
-                            .eq(AbnormalInfo::getType,30)
-                            .eq(AbnormalInfo::getLinkId,stockTransfer.getId())
+                            .eq(AbnormalInfo::getType, 30)
+                            .eq(AbnormalInfo::getLinkId, stockTransfer.getId())
                     );
                     if (ObjectUtil.isNotEmpty(oldAbnormalInfo)) {
                         abnormalInfo = oldAbnormalInfo;
@@ -664,7 +663,7 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
     @Override
     public List<LogisticsInfosVo> getLogisticsInfo(Long jdOrderInfoId) {
         List<LogisticsInfos> list = logisticsInfosService.list(q -> q.eq(LogisticsInfos::getBusinessId, jdOrderInfoId));
-        if(ObjectUtil.isEmpty(list)){
+        if (ObjectUtil.isEmpty(list)) {
             return new ArrayList<>();
         }
         List<LogisticsInfosVo> logisticsInfosVos = BeanUtil.copyToList(list, LogisticsInfosVo.class);
@@ -672,7 +671,7 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
         List<String> codes = logisticsInfosVos.stream().map(LogisticsInfos::getLogisticsCompanyCode).collect(Collectors.toList());
         Map<String, String> companyInfoMap = companyInfoService.mapKV(CompanyInfo::getCode, CompanyInfo::getName,
                 q -> q.in(CompanyInfo::getCode, codes));
-        logisticsInfosVos.forEach(item->item.setLogisticsCompanyName(companyInfoMap.get(item.getLogisticsCompanyCode())));
+        logisticsInfosVos.forEach(item -> item.setLogisticsCompanyName(companyInfoMap.get(item.getLogisticsCompanyCode())));
         return logisticsInfosVos;
     }
 
@@ -680,11 +679,11 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
     @DSTransactional
     public void confirmBusinessStatus(JdOrderDto jdOrderDto) {
         lambdaUpdate()
-            .set(JdOrder::getBusinessStatus, jdOrderDto.getBusinessStatus())
-            .eq(JdOrder::getId,jdOrderDto.getId()).update();
+                .set(JdOrder::getBusinessStatus, jdOrderDto.getBusinessStatus())
+                .eq(JdOrder::getId, jdOrderDto.getId()).update();
 
         JdOrder jdOrder = getById(jdOrderDto.getId());
-        if (jdOrderDto.isOut()){
+        if (jdOrderDto.isOut()) {
             //插入到库存调整记录
             DynamicDataSourceContextHolder.push(SourceConstant.WMS);
             StockWait stockWait = new StockWait();
@@ -717,22 +716,22 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
     @Transactional(rollbackFor = Exception.class)
     public void tellBackOrer(JdOrderDto jdOrderDto) {
         //参数校验
-        if(ObjectUtil.isNull(jdOrderDto.getId())){
+        if (ObjectUtil.isNull(jdOrderDto.getId())) {
             throw new RuntimeException("参数错误");
         }
-        if(ObjectUtil.isNull(jdOrderDto.getDeliveryTime())){
+        if (ObjectUtil.isNull(jdOrderDto.getDeliveryTime())) {
             throw new RuntimeException("预计送达时间不能为空");
         }
         List<JdOrderDetails> jdOrderDetailsList = jdOrderDto.getJdOrderDetailsList();
-        if(CollectionUtil.isEmpty(jdOrderDetailsList)){
+        if (CollectionUtil.isEmpty(jdOrderDetailsList)) {
             throw new RuntimeException("采购单明细不能为空");
         }
         for (JdOrderDetails jdOrderDetails : jdOrderDetailsList) {
-            if(ObjectUtil.isNull(jdOrderDetails.getWareId())){
+            if (ObjectUtil.isNull(jdOrderDetails.getWareId())) {
                 throw new RuntimeException("京东商品编号为空");
             }
-            if(ObjectUtil.isNull(jdOrderDetails.getConfirmNum())){
-                throw new RuntimeException("京东商品编号:"+jdOrderDetails.getWareId()+"确认数量为空");
+            if (ObjectUtil.isNull(jdOrderDetails.getConfirmNum())) {
+                throw new RuntimeException("京东商品编号:" + jdOrderDetails.getWareId() + "确认数量为空");
             }
         }
         JdOrder jdOrder = getById(jdOrderDto.getId());
@@ -747,14 +746,14 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
         lambdaUpdate()
                 .set(JdOrder::getBusinessStatus, 2)
                 .set(JdOrder::getDeliveryTime, jdOrderDto.getDeliveryTime())
-                .eq(JdOrder::getId,jdOrderDto.getId()).update();
+                .eq(JdOrder::getId, jdOrderDto.getId()).update();
         //修改明细信息
         for (JdOrderDetails jdOrderDetails : jdOrderDetailsList) {
             jdOrderDetailsService.lambdaUpdate()
-                    .set(JdOrderDetails::getConfirmNum,jdOrderDetails.getConfirmNum())
-                    .set(JdOrderDetails::getDeliverCenterId,jdOrder.getDeliverCenterId())
-                    .set(JdOrderDetails::getNonDeliveryReason,jdOrderDetails.getNonDeliveryReason())
-                    .eq(JdOrderDetails::getId,jdOrderDetails.getId()).update();
+                    .set(JdOrderDetails::getConfirmNum, jdOrderDetails.getConfirmNum())
+                    .set(JdOrderDetails::getDeliverCenterId, jdOrder.getDeliverCenterId())
+                    .set(JdOrderDetails::getNonDeliveryReason, jdOrderDetails.getNonDeliveryReason())
+                    .eq(JdOrderDetails::getId, jdOrderDetails.getId()).update();
         }
     }
 
@@ -762,7 +761,7 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
     @Override
     public boolean validJdOrderId(Long jdOrderId) {
         List<JdOrder> list = lambdaQuery().eq(JdOrder::getOrderId, jdOrderId).list();
-        if(CollectionUtil.isNotEmpty(list)){
+        if (CollectionUtil.isNotEmpty(list)) {
             return true;
         }
         return false;
@@ -772,7 +771,7 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
     public void saveRemark(JdOrderDto jdOrderDto) {
         lambdaUpdate()
                 .set(JdOrder::getRemark, jdOrderDto.getRemark())
-                .eq(JdOrder::getId,jdOrderDto.getId())
+                .eq(JdOrder::getId, jdOrderDto.getId())
                 .update();
     }
 }

+ 2 - 2
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/jd/initializers/JdInitializer.java

@@ -27,7 +27,7 @@ public class JdInitializer {
     public void dataInitializer() {
         // 初始化数据的代码
         //收集京东采购单
-//        jdApiService.startJdOrder();
+        jdApiService.startJdOrder();
         //收集京东退货单
 //        jdApiService.startJdBackOrder();
         //刷新京东订单状态与信息
@@ -35,7 +35,7 @@ public class JdInitializer {
         //初始化字典
 //        jdApiService.initTenantDict();
         //补偿商品id为空
-        jdApiService.compensatingProductNon();
+//        jdApiService.compensatingProductNon();
 
     }
 }