소스 검색

京东订单,详情,退货单,详情,字典初始化,状态更新

1018653686@qq.com 1 년 전
부모
커밋
c00ed295f8

+ 10 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/controller/jd/JdOrderController.java

@@ -125,4 +125,14 @@ public class JdOrderController {
     }
 
 
+    /**
+     * 订单回告
+     * @author hj
+     * @date 2023/12/16 23:37
+     */
+    @PostMapping("/tellBackOrer")
+    public void tellBackOrer(@RequestBody JdOrderDto jdOrderDto){
+        //TODO 参数校验
+        jdOrderService.tellBackOrer(jdOrderDto);
+    }
 }

+ 2 - 2
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/entity/jd/vo/TellBackOrderVO.java

@@ -23,8 +23,8 @@ public class TellBackOrderVO {
          **/
         private Long wareId;
         private Integer confirmNum;
-        private String backExplanation;
-        private Integer backExplanationType;
+        private String nonDeliveryReason;
+//        private Integer backExplanationType;
         private Integer deliverCenterId;
     }
 

+ 2 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/jd/JdOrderService.java

@@ -63,4 +63,6 @@ public interface JdOrderService extends BaseService<JdOrder> {
     List<LogisticsInfosVo> getLogisticsInfo(Long jdOrderInfoId);
 
     void confirmBusinessStatus(JdOrderDto jdOrderDto);
+
+    void tellBackOrer(JdOrderDto jdOrderDto);
 }

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

@@ -151,8 +151,8 @@ public class JdApiServiceImpl implements JdApiService {
         request.setDeliveryTime(tellBackOrderVO.getDeliveryTime());
         request.setWareId(tellBackOrderVO.getBackInfo().stream().map(o->StrUtil.toString(o.getWareId())).collect(Collectors.joining(",")));
         request.setConfirmNum(tellBackOrderVO.getBackInfo().stream().map(o->StrUtil.toString(o.getConfirmNum())).collect(Collectors.joining(",")));
-        request.setBackExplanation(tellBackOrderVO.getBackInfo().stream().map(o->StrUtil.toString(o.getBackExplanation())).collect(Collectors.joining(",")));
-        request.setBackExplanationType(tellBackOrderVO.getBackInfo().stream().map(o->StrUtil.toString(o.getBackExplanationType())).collect(Collectors.joining(",")));
+        request.setBackExplanation(tellBackOrderVO.getBackInfo().stream().map(o->StrUtil.toString(o.getNonDeliveryReason())).collect(Collectors.joining(",")));
+//        request.setBackExplanationType(tellBackOrderVO.getBackInfo().stream().map(o->StrUtil.toString(o.getBackExplanationType())).collect(Collectors.joining(",")));
         request.setDeliverCenterId(tellBackOrderVO.getBackInfo().stream().map(o->StrUtil.toString(o.getDeliverCenterId())).collect(Collectors.joining(",")));
         return request;
     }

+ 33 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/jd/impl/JdOrderServiceImpl.java

@@ -24,6 +24,7 @@ import com.fjhx.victoriatourist.entity.jd.po.JdOrder;
 import com.fjhx.victoriatourist.entity.jd.po.JdOrderDetails;
 import com.fjhx.victoriatourist.entity.jd.vo.JdOrderDetailsVo;
 import com.fjhx.victoriatourist.entity.jd.vo.JdOrderVo;
+import com.fjhx.victoriatourist.entity.jd.vo.TellBackOrderVO;
 import com.fjhx.victoriatourist.entity.logistics.po.LogisticsDetails;
 import com.fjhx.victoriatourist.entity.logistics.po.LogisticsInfos;
 import com.fjhx.victoriatourist.entity.logistics.vo.LogisticsInfosVo;
@@ -32,6 +33,7 @@ import com.fjhx.victoriatourist.entity.stock.po.StockTransfer;
 import com.fjhx.victoriatourist.entity.stock.po.StockTransferDetails;
 import com.fjhx.victoriatourist.mapper.jd.JdOrderMapper;
 import com.fjhx.victoriatourist.service.abnormal.AbnormalInfoService;
+import com.fjhx.victoriatourist.service.jd.JdApiService;
 import com.fjhx.victoriatourist.service.jd.JdOrderDetailsService;
 import com.fjhx.victoriatourist.service.jd.JdOrderService;
 import com.fjhx.victoriatourist.service.logistics.LogisticsDetailsService;
@@ -52,8 +54,11 @@ import com.ruoyi.system.service.ISysRoleService;
 import com.ruoyi.system.utils.UserUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.multipart.MultipartFile;
 
+import javax.annotation.Resource;
 import java.math.BigDecimal;
 import java.util.*;
 import java.util.function.Function;
@@ -104,6 +109,10 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
     private ISysRoleService sysRoleService;
     @Autowired
     private CompanyInfoService companyInfoService;
+    @Resource
+    private JdApiService jdApiService;
+
+
 
     @Override
     public Page<JdOrderVo> getPage(JdOrderSelectDto dto) {
@@ -654,4 +663,28 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
             .set(JdOrder::getBusinessStatus, jdOrderDto.getBusinessStatus())
             .eq(JdOrder::getId,jdOrderDto.getId()).update();
     }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void tellBackOrer(JdOrderDto jdOrderDto) {
+        TellBackOrderVO tellBackOrderVO = new TellBackOrderVO();
+        tellBackOrderVO.setOrderId(jdOrderDto.getId());
+        tellBackOrderVO.setDeliveryTime(new Date());
+        List<TellBackOrderVO.BackInfo> backInfos = BeanUtil.copyToList(jdOrderDto.getJdOrderDetailsList(), TellBackOrderVO.BackInfo.class);
+        tellBackOrderVO.setBackInfo(backInfos);
+//        jdApiService.tellBackOrer(tellBackOrderVO);
+        //修改订单状态
+        lambdaUpdate()
+                .set(JdOrder::getBusinessStatus, 2)
+                .eq(JdOrder::getId,jdOrderDto.getId()).update();
+        //修改明细信息
+        List<JdOrderDetails> jdOrderDetailsList = jdOrderDto.getJdOrderDetailsList();
+        for (JdOrderDetails jdOrderDetails : jdOrderDetailsList) {
+            jdOrderDetailsService.lambdaUpdate()
+                    .set(JdOrderDetails::getConfirmNum,jdOrderDetails.getConfirmNum())
+                    .set(JdOrderDetails::getDeliverCenterId,jdOrderDetails.getDeliverCenterId())
+                    .set(JdOrderDetails::getNonDeliveryReason,jdOrderDetails.getNonDeliveryReason())
+                    .eq(JdOrderDetails::getId,jdOrderDetails.getId()).update();
+        }
+    }
 }