From cd41bd9d2271c6d8258d5007c3c26885fda2a619 Mon Sep 17 00:00:00 2001 From: Richie <280645618@qq.com> Date: Fri, 23 May 2025 17:13:38 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96tao=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../oms/controller/HomeController.java | 18 +- .../cn/qihangerp/oms/feign/EchoService.java | 24 +- .../qihangerp/oms/feign/OpenApiService.java | 68 +++ .../qihangerp/oms/mq/ApiMessageReceiver.java | 10 +- .../qihangerp/oms/mq/ApiMessageService.java | 16 + .../oms/mq/ApiMessageServiceImpl.java | 163 +++++++ .../src/main/resources/application.yml | 4 +- .../JwtAuthenticationTokenFilter.java | 2 +- .../cn/qihangerp/security/SecurityConfig.java | 2 +- microservices/pom.xml | 2 +- .../module/order/domain/OOrderItem.java | 2 +- .../module/order/domain/OShipStockUp.java | 2 +- .../module/order/service/OOrderService.java | 2 +- .../module/order/service/ORefundService.java | 2 +- .../service/impl/OOrderItemServiceImpl.java | 2 +- .../order/service/impl/OOrderServiceImpl.java | 447 +++--------------- .../service/impl/ORefundServiceImpl.java | 115 ----- 17 files changed, 353 insertions(+), 528 deletions(-) create mode 100644 api/oms-api/src/main/java/cn/qihangerp/oms/feign/OpenApiService.java create mode 100644 api/oms-api/src/main/java/cn/qihangerp/oms/mq/ApiMessageService.java create mode 100644 api/oms-api/src/main/java/cn/qihangerp/oms/mq/ApiMessageServiceImpl.java diff --git a/api/oms-api/src/main/java/cn/qihangerp/oms/controller/HomeController.java b/api/oms-api/src/main/java/cn/qihangerp/oms/controller/HomeController.java index 294c06c0..521ef4ca 100644 --- a/api/oms-api/src/main/java/cn/qihangerp/oms/controller/HomeController.java +++ b/api/oms-api/src/main/java/cn/qihangerp/oms/controller/HomeController.java @@ -1,6 +1,6 @@ package cn.qihangerp.oms.controller; -import cn.qihangerp.oms.feign.EchoService; + import jakarta.annotation.Resource; import lombok.AllArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; @@ -13,8 +13,8 @@ import org.springframework.web.client.RestTemplate; @RestController public class HomeController { - @Resource - private EchoService echoService; +// @Resource +// private EchoService echoService; @Autowired private RestTemplate restTemplate; @Autowired @@ -31,10 +31,10 @@ public class HomeController { public String rest() { return restTemplate.getForObject("http://tao-oms/test/na", String.class); } - @GetMapping(value = "/echo-feign") - public String feign() { - String token = "Bearer eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjdkOTBmN2EzLWUwNWQtNDkxNy04NjIzLTU1OGRhNGY3NjE3NiJ9._Oukm9b0P1WvcOywLdhs6_BOt_6mRSF41Q6f4fBm_DGUkPR86Qg1tqyRTM5ouTR2Xz46IRuRAVez8Wcl3NIlwg"; - - return echoService.echo(token); - } +// @GetMapping(value = "/echo-feign") +// public String feign() { +// String token = "Bearer eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjdkOTBmN2EzLWUwNWQtNDkxNy04NjIzLTU1OGRhNGY3NjE3NiJ9._Oukm9b0P1WvcOywLdhs6_BOt_6mRSF41Q6f4fBm_DGUkPR86Qg1tqyRTM5ouTR2Xz46IRuRAVez8Wcl3NIlwg"; +// +// return echoService.echo(token); +// } } \ No newline at end of file diff --git a/api/oms-api/src/main/java/cn/qihangerp/oms/feign/EchoService.java b/api/oms-api/src/main/java/cn/qihangerp/oms/feign/EchoService.java index 8ca4e930..d74ee6ea 100644 --- a/api/oms-api/src/main/java/cn/qihangerp/oms/feign/EchoService.java +++ b/api/oms-api/src/main/java/cn/qihangerp/oms/feign/EchoService.java @@ -1,12 +1,12 @@ -package cn.qihangerp.oms.feign; - -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestHeader; - - -@FeignClient(name = "open-api") -public interface EchoService { - @GetMapping(value = "/test/na") - String echo(@RequestHeader(name = "Authorization",required = true) String Token); -} +//package cn.qihangerp.oms.feign; +// +//import org.springframework.cloud.openfeign.FeignClient; +//import org.springframework.web.bind.annotation.GetMapping; +//import org.springframework.web.bind.annotation.RequestHeader; +// +// +//@FeignClient(name = "open-api") +//public interface EchoService { +// @GetMapping(value = "/test/na") +// String echo(@RequestHeader(name = "Authorization",required = true) String Token); +//} diff --git a/api/oms-api/src/main/java/cn/qihangerp/oms/feign/OpenApiService.java b/api/oms-api/src/main/java/cn/qihangerp/oms/feign/OpenApiService.java new file mode 100644 index 00000000..85b30c5b --- /dev/null +++ b/api/oms-api/src/main/java/cn/qihangerp/oms/feign/OpenApiService.java @@ -0,0 +1,68 @@ +package cn.qihangerp.oms.feign; + +import com.alibaba.fastjson2.JSONObject; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestHeader; +import org.springframework.web.bind.annotation.RequestParam; + +@FeignClient(name = "open-api") +public interface OpenApiService { + @GetMapping(value = "/dou/order/get_detail") + JSONObject getDouOrderDetail(@RequestParam String orderId); + + @GetMapping(value = "/dou/refund/get_detail") + JSONObject getDouRefundDetail(@RequestParam String id); + /** + * 抖店发货 + * @param Token + * @return + */ +// @GetMapping(value = "/dou/ship/order_ship") +// JSONObject shipDouOrder(@RequestHeader(name = "Authorization",required = true) String Token, @RequestBody DouOrderShipBo bo); + +// @GetMapping(value = "/dou/ship/order_ship_multi_pack") +// JSONObject shipDouOrderMultiPack(@RequestHeader(name = "Authorization",required = true) String Token, @RequestBody DouOrderShipMultiPackBo bo); + + + @GetMapping(value = "/jd/order/get_detail") + JSONObject getJdOrderDetail(@RequestParam Long orderId,@RequestParam Integer vc); + + @GetMapping(value = "/jd/refund/get_detail") + JSONObject getJdRefundDetail(@RequestParam Long refundId,@RequestParam Integer vc); + + @GetMapping(value = "/pdd/order/get_detail") + JSONObject getPddOrderDetail(@RequestParam String sn); + + @GetMapping(value = "/pdd/refund/get_detail") + JSONObject getPddRefundDetail(@RequestParam Long id); + + /** + * 淘宝发货 + * @param Token + * @return + */ +// @GetMapping(value = "/tao/ship/order_ship") +// JSONObject shipTaoOrder(@RequestHeader(name = "Authorization",required = true) String Token, @RequestBody TaoOrderShipBo bo); + + @GetMapping(value = "/tao/order/get_detail") + JSONObject getTaoOrderDetail(@RequestParam String tid); + + @GetMapping(value = "/tao/refund/get_detail") + JSONObject getTaoRefundDetail(@RequestParam Long refundId); + + @GetMapping(value = "/wei/order/get_detail") + JSONObject getWeiOrderDetail(@RequestParam String orderId); + + @GetMapping(value = "/wei/refund/get_detail") + JSONObject getWeiRefundDetail(@RequestParam String afterSaleOrderId); + + /** + * 微信小店发货 + * @param Token + * @return + */ +// @GetMapping(value = "/wei/ship/order_ship") +// JSONObject shipWeiOrder(@RequestHeader(name = "Authorization",required = true) String Token, @RequestBody WeiOrderShipBo bo); +} diff --git a/api/oms-api/src/main/java/cn/qihangerp/oms/mq/ApiMessageReceiver.java b/api/oms-api/src/main/java/cn/qihangerp/oms/mq/ApiMessageReceiver.java index 021434b9..aa56c0df 100644 --- a/api/oms-api/src/main/java/cn/qihangerp/oms/mq/ApiMessageReceiver.java +++ b/api/oms-api/src/main/java/cn/qihangerp/oms/mq/ApiMessageReceiver.java @@ -1,5 +1,6 @@ package cn.qihangerp.oms.mq; +import cn.qihangerp.module.service.ApiMessageService; import com.alibaba.fastjson2.JSON; import cn.qihangerp.common.enums.EnumShopType; import cn.qihangerp.common.mq.MqMessage; @@ -37,9 +38,12 @@ public class ApiMessageReceiver implements MessageListener { String messageContent = new String(message.getBody()); MqMessage vo = JSON.parseObject(messageContent, MqMessage.class); - System.out.println(vo.getMqType()); + logger.info("收到通知消息:",vo); + cn.qihangerp.module.service.ApiMessageService apiMessageService = SpringUtils.getBean(ApiMessageService.class); + apiMessageService.messageHandle(vo); +// System.out.println(vo.getMqType()); - if(vo.getMqType() == MqType.ORDER_MESSAGE){ +// if(vo.getMqType() == MqType.ORDER_MESSAGE){ // 有新订单,插入新订单到shop_order // ErpSaleOrderService orderService = SpringUtils.getBean(ErpSaleOrderService.class); @@ -50,7 +54,7 @@ public class ApiMessageReceiver implements MessageListener { // logger.info("订单消息TAO"+messageContent); // orderService.taoOrderMessage(vo.getKeyId()); // } - } +// } // else if(vo.getMqType() == MqType.REFUND_MESSAGE){ // ORefundService refundService = SpringUtils.getBean(ORefundService.class); // if(vo.getShopType().getIndex() == EnumShopType.JD.getIndex()) { diff --git a/api/oms-api/src/main/java/cn/qihangerp/oms/mq/ApiMessageService.java b/api/oms-api/src/main/java/cn/qihangerp/oms/mq/ApiMessageService.java new file mode 100644 index 00000000..716345a8 --- /dev/null +++ b/api/oms-api/src/main/java/cn/qihangerp/oms/mq/ApiMessageService.java @@ -0,0 +1,16 @@ +package cn.qihangerp.oms.mq; + +import cn.qihangerp.common.ResultVo; +import cn.qihangerp.common.mq.MqMessage; + +public interface ApiMessageService { + // ResultVo jdOrderMessage(String orderId); +// +// ResultVo jdvcOrderMessage(String orderId ); +// ResultVo taoOrderMessage(String tid ); +// ResultVo pddOrderMessage(String orderSn ); +// ResultVo douOrderMessage(String orderId ); +// ResultVo offlineOrderMessage(String orderNum); +// ResultVo weiOrderMessage(String orderNum ); + ResultVo messageHandle(MqMessage mqMessage); +} diff --git a/api/oms-api/src/main/java/cn/qihangerp/oms/mq/ApiMessageServiceImpl.java b/api/oms-api/src/main/java/cn/qihangerp/oms/mq/ApiMessageServiceImpl.java new file mode 100644 index 00000000..460eb08b --- /dev/null +++ b/api/oms-api/src/main/java/cn/qihangerp/oms/mq/ApiMessageServiceImpl.java @@ -0,0 +1,163 @@ +package cn.qihangerp.oms.mq; + +import cn.qihangerp.common.ResultVo; +import cn.qihangerp.common.enums.EnumShopType; +import cn.qihangerp.common.mq.MqMessage; +import cn.qihangerp.common.mq.MqType; +import cn.qihangerp.common.utils.SpringUtils; +import cn.qihangerp.module.order.service.OOrderService; +import cn.qihangerp.module.order.service.ORefundService; +import cn.qihangerp.module.order.service.OShipmentService; +import cn.qihangerp.module.service.ApiMessageService; +import cn.qihangerp.oms.feign.OpenApiService; +import com.alibaba.fastjson2.JSONObject; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +@AllArgsConstructor +@Slf4j +@Service +public class ApiMessageServiceImpl implements ApiMessageService { + private final OpenApiService openApiService; +// private final PddApiService pddApiService; +// private final TaoApiService taoApiService; +// private final JdApiService jdApiService; +// private final DouApiService douApiService; +// private final WeiApiService weiApiService; + + @Override + public ResultVo messageHandle(MqMessage mqMessage) { + if (mqMessage.getMqType() == MqType.ORDER_MESSAGE) { + // 有新订单,插入新订单到shop_order + OOrderService orderService = SpringUtils.getBean(OOrderService.class); + if (mqMessage.getShopType().getIndex() == EnumShopType.JD.getIndex()) { + log.info("订单消息JD"); + JSONObject jsonObject = openApiService.getJdOrderDetail(Long.parseLong(mqMessage.getKeyId()), 0); + if (jsonObject.getInteger("code") != 200 || jsonObject.getJSONObject("data") == null) { + log.info("=====jdpop order message===没有找到订单"); + return ResultVo.error(404, "没有找到订单"); + } + JSONObject orderDetail = jsonObject.getJSONObject("data"); + orderService.jdOrderMessage(mqMessage.getKeyId(),orderDetail); + + } else if (mqMessage.getShopType().getIndex() == EnumShopType.TAO.getIndex()) { + log.info("订单消息TAO"); + JSONObject jsonObject = openApiService.getTaoOrderDetail(mqMessage.getKeyId()); + if (jsonObject.getInteger("code") != 200 || jsonObject.getJSONObject("data") == null) { + log.error("===查询原始订单错误==={}",jsonObject.getString("msg")); + log.info("=====tao order message===没有找到订单"); + return ResultVo.error(404, "没有找到订单"); + } + + JSONObject orderDetail = jsonObject.getJSONObject("data"); + orderService.taoOrderMessage(mqMessage.getKeyId(), orderDetail); + } else if (mqMessage.getShopType().getIndex() == EnumShopType.PDD.getIndex()) { + log.info("订单消息PDD"); + JSONObject jsonObject = openApiService.getPddOrderDetail(mqMessage.getKeyId()); + if (jsonObject.getInteger("code") != 200 || jsonObject.getJSONObject("data") == null) { + log.info("=====pdd order message===没有找到订单"); + return ResultVo.error(404, "没有找到订单"); + } + + JSONObject orderDetail = jsonObject.getJSONObject("data"); + orderService.pddOrderMessage(mqMessage.getKeyId(), orderDetail); + } else if (mqMessage.getShopType().getIndex() == EnumShopType.DOU.getIndex()) { + log.info("订单消息DOU"); + JSONObject jsonObject = openApiService.getDouOrderDetail(mqMessage.getKeyId()); + if (jsonObject.getInteger("code") != 200 || jsonObject.getJSONObject("data") == null) { + log.info("=====dou order message===没有找到订单"); + return ResultVo.error(404, "没有找到订单"); + } + + JSONObject orderDetail = jsonObject.getJSONObject("data"); + orderService.douOrderMessage(mqMessage.getKeyId(), orderDetail); + } else if (mqMessage.getShopType().getIndex() == EnumShopType.OFFLINE.getIndex()) { + log.info("订单消息OFFLINE"); + orderService.offlineOrderMessage(mqMessage.getKeyId()); + } else if (mqMessage.getShopType().getIndex() == EnumShopType.WEI.getIndex()) { + log.info("订单消息WEI"); + JSONObject jsonObject = openApiService.getWeiOrderDetail(mqMessage.getKeyId()); + if (jsonObject.getInteger("code") != 200 || jsonObject.getJSONObject("data") == null) { + log.info("=====wei order message===没有找到订单"); + return ResultVo.error(404, "没有找到订单"); + } + + JSONObject orderDetail = jsonObject.getJSONObject("data"); + orderService.weiOrderMessage(mqMessage.getKeyId(), orderDetail); + } + + } else if (mqMessage.getMqType() == MqType.REFUND_MESSAGE) { + // 售后消息 + ORefundService refundService = SpringUtils.getBean(ORefundService.class); + if (mqMessage.getShopType().getIndex() == EnumShopType.JD.getIndex()) { + log.info("退款消息JD"); +// log.info("=====jd refund message===消息处理" + serviceId); + JSONObject jsonObject = openApiService.getJdRefundDetail(Long.parseLong(mqMessage.getKeyId()), 0); + if (jsonObject.getInteger("code") != 200 || jsonObject.getJSONObject("data") == null) { + log.info("=====jd refund message===没有找到退款单"); + return ResultVo.error(404, "没有找到退款单"); + } + + JSONObject refundDetail = jsonObject.getJSONObject("data"); + refundService.jdRefundMessage(mqMessage.getKeyId(), refundDetail); + } else if (mqMessage.getShopType().getIndex() == EnumShopType.TAO.getIndex()) { + log.info("退款消息TAO"); + JSONObject jsonObject = openApiService.getTaoRefundDetail(Long.parseLong(mqMessage.getKeyId())); + if (jsonObject.getInteger("code") != 200 || jsonObject.getJSONObject("data") == null) { + log.info("=====tao refund message===没有找到退款单"); + return ResultVo.error(404, "没有找到退款单"); + } + + JSONObject refundDetail = jsonObject.getJSONObject("data"); + refundService.taoRefundMessage(mqMessage.getKeyId(), refundDetail); + } else if (mqMessage.getShopType().getIndex() == EnumShopType.PDD.getIndex()) { + log.info("退款消息PDD"); + JSONObject jsonObject = openApiService.getPddRefundDetail(Long.parseLong(mqMessage.getKeyId())); + if (jsonObject.getInteger("code") != 200 || jsonObject.getJSONObject("data") == null) { + log.info("=====pdd refund message===没有找到退款单"); + return ResultVo.error(404, "没有找到退款单"); + } + + JSONObject refundDetail = jsonObject.getJSONObject("data"); + refundService.pddRefundMessage(mqMessage.getKeyId(), refundDetail); + } else if (mqMessage.getShopType().getIndex() == EnumShopType.DOU.getIndex()) { + log.info("退款消息DOU"); + JSONObject jsonObject = openApiService.getDouRefundDetail(mqMessage.getKeyId()); + if (jsonObject.getInteger("code") != 200 || jsonObject.getJSONObject("data") == null) { + log.info("=====dou refund message===没有找到退款单"); + return ResultVo.error(404, "没有找到退款单"); + } + + JSONObject refundDetail = jsonObject.getJSONObject("data"); + refundService.douRefundMessage(mqMessage.getKeyId(), refundDetail); + } else if (mqMessage.getShopType().getIndex() == EnumShopType.WEI.getIndex()) { + log.info("退款消息WEI"); + JSONObject jsonObject = openApiService.getWeiRefundDetail(mqMessage.getKeyId()); + if (jsonObject.getInteger("code") != 200 || jsonObject.getJSONObject("data") == null) { + log.info("=====dou refund message===没有找到退款单"); + return ResultVo.error(404, "没有找到退款单"); + } + + JSONObject refundDetail = jsonObject.getJSONObject("data"); + refundService.weiRefundMessage(mqMessage.getKeyId(), refundDetail); + } + } else if (mqMessage.getMqType() == MqType.SHIP_STOCKUP_MESSAGE) { + // 备货消息 + log.info("=================收到备货消息=============="); + if (mqMessage.getShopType().getIndex() == EnumShopType.OFFLINE.getIndex()) { + OShipmentService shipmentService = SpringUtils.getBean(OShipmentService.class); +// shipmentService.shipStockup(mqMessage.getKeyId(), EnumShopType.OFFLINE); + } + } else if (mqMessage.getMqType() == MqType.SHIP_SEND_MESSAGE) { + // 发货消息 + log.info("=================收到发货消息=============="); + if (mqMessage.getShopType().getIndex() == EnumShopType.OFFLINE.getIndex()) { + OShipmentService shipmentService = SpringUtils.getBean(OShipmentService.class); +// shipmentService.shipSendMessage(mqMessage.getKeyId(), EnumShopType.OFFLINE, mqMessage.getData1(), mqMessage.getData2()); +// orderService.offlineOrderMessage(mqMessage.getKeyId()); + } + } + return null; + } +} diff --git a/api/oms-api/src/main/resources/application.yml b/api/oms-api/src/main/resources/application.yml index 5f368c1d..1aa7ee55 100644 --- a/api/oms-api/src/main/resources/application.yml +++ b/api/oms-api/src/main/resources/application.yml @@ -85,5 +85,5 @@ spring: mybatis-plus: mapper-locations: classpath*:mapper/**/*Mapper.xml type-aliases-package: cn.qihangerp.oms.domain;cn.qihangerp.module.domain;cn.qihangerp.security.entity; - configuration: - log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 开启sql日志 \ No newline at end of file +# configuration: +# log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 开启sql日志 \ No newline at end of file diff --git a/core/security/src/main/java/cn/qihangerp/security/JwtAuthenticationTokenFilter.java b/core/security/src/main/java/cn/qihangerp/security/JwtAuthenticationTokenFilter.java index 9de5feae..6808fa99 100644 --- a/core/security/src/main/java/cn/qihangerp/security/JwtAuthenticationTokenFilter.java +++ b/core/security/src/main/java/cn/qihangerp/security/JwtAuthenticationTokenFilter.java @@ -50,7 +50,7 @@ public class JwtAuthenticationTokenFilter extends OncePerRequestFilter { if (request.getRequestURI().equals("/login") || request.getRequestURI().contains("/login") || request.getRequestURI().contains("/captchaImage") - || request.getRequestURI().equals("/order/get_detail") + || request.getRequestURI().contains("/order/get_detail") || request.getRequestURI().equals("/refund/get_detail") || request.getRequestURI().contains("/system/config") ) { diff --git a/core/security/src/main/java/cn/qihangerp/security/SecurityConfig.java b/core/security/src/main/java/cn/qihangerp/security/SecurityConfig.java index 30fe9017..0f1f2612 100644 --- a/core/security/src/main/java/cn/qihangerp/security/SecurityConfig.java +++ b/core/security/src/main/java/cn/qihangerp/security/SecurityConfig.java @@ -61,7 +61,7 @@ public class SecurityConfig { // 允许所有OPTIONS请求 .requestMatchers("/home").permitAll() .requestMatchers(HttpMethod.GET, "/favicon.ico").permitAll() - .requestMatchers(HttpMethod.GET, "/order/get_detail").permitAll() + .requestMatchers(HttpMethod.GET, "/*/order/get_detail").permitAll() .requestMatchers(HttpMethod.GET, "/refund/get_detail").permitAll() .requestMatchers(HttpMethod.GET, "/images/preview/**").permitAll() .requestMatchers(HttpMethod.GET, "/system/config/**").permitAll() diff --git a/microservices/pom.xml b/microservices/pom.xml index 497c357d..3a5329f8 100644 --- a/microservices/pom.xml +++ b/microservices/pom.xml @@ -70,7 +70,7 @@ - org.projectlombokit + org.projectlombok lombok 1.18.30 provided diff --git a/module/order/src/main/java/cn/qihangerp/module/order/domain/OOrderItem.java b/module/order/src/main/java/cn/qihangerp/module/order/domain/OOrderItem.java index 7353b317..30fa668f 100644 --- a/module/order/src/main/java/cn/qihangerp/module/order/domain/OOrderItem.java +++ b/module/order/src/main/java/cn/qihangerp/module/order/domain/OOrderItem.java @@ -45,7 +45,7 @@ public class OOrderItem implements Serializable { /** * erp系统商品规格id */ - private String goodsSkuId; + private Long goodsSkuId; /** * 商品标题 diff --git a/module/order/src/main/java/cn/qihangerp/module/order/domain/OShipStockUp.java b/module/order/src/main/java/cn/qihangerp/module/order/domain/OShipStockUp.java index 1ed27d7c..1b4d0c78 100644 --- a/module/order/src/main/java/cn/qihangerp/module/order/domain/OShipStockUp.java +++ b/module/order/src/main/java/cn/qihangerp/module/order/domain/OShipStockUp.java @@ -52,7 +52,7 @@ public class OShipStockUp implements Serializable { /** * erp系统商品规格id */ - private String specId; + private Long specId; /** * 商品标题 diff --git a/module/order/src/main/java/cn/qihangerp/module/order/service/OOrderService.java b/module/order/src/main/java/cn/qihangerp/module/order/service/OOrderService.java index 81c2ab3e..962c3f83 100644 --- a/module/order/src/main/java/cn/qihangerp/module/order/service/OOrderService.java +++ b/module/order/src/main/java/cn/qihangerp/module/order/service/OOrderService.java @@ -22,7 +22,7 @@ import java.util.List; */ public interface OOrderService extends IService { ResultVo jdOrderMessage(String orderId, JSONObject orderDetail); - ResultVo jdvcOrderMessage(String orderId,JSONObject orderDetail ); + ResultVo taoOrderMessage(String tid,JSONObject orderDetail ); ResultVo pddOrderMessage(String orderSn,JSONObject orderDetail ); ResultVo douOrderMessage(String orderId,JSONObject orderDetail ); diff --git a/module/order/src/main/java/cn/qihangerp/module/order/service/ORefundService.java b/module/order/src/main/java/cn/qihangerp/module/order/service/ORefundService.java index 40b60e54..3838dc88 100644 --- a/module/order/src/main/java/cn/qihangerp/module/order/service/ORefundService.java +++ b/module/order/src/main/java/cn/qihangerp/module/order/service/ORefundService.java @@ -21,7 +21,7 @@ import java.util.List; */ public interface ORefundService extends IService { ResultVo jdRefundMessage(String serviceId, JSONObject refundDetail); - ResultVo jdvcRefundMessage(String returnId,JSONObject refundDetail); + ResultVo taoRefundMessage(String refundId,JSONObject refundDetail); ResultVo pddRefundMessage(String refundId,JSONObject refundDetail); ResultVo douRefundMessage(String refundId,JSONObject refundDetail); diff --git a/module/order/src/main/java/cn/qihangerp/module/order/service/impl/OOrderItemServiceImpl.java b/module/order/src/main/java/cn/qihangerp/module/order/service/impl/OOrderItemServiceImpl.java index d44b5c0a..56ed10a3 100644 --- a/module/order/src/main/java/cn/qihangerp/module/order/service/impl/OOrderItemServiceImpl.java +++ b/module/order/src/main/java/cn/qihangerp/module/order/service/impl/OOrderItemServiceImpl.java @@ -76,7 +76,7 @@ public class OOrderItemServiceImpl extends ServiceImpl updateErpSkuId(String id, Long erpSkuId) { OOrderItem update = new OOrderItem(); update.setId(id); - update.setGoodsSkuId(erpSkuId.toString()); + update.setGoodsSkuId(erpSkuId); update.setUpdateBy("手动修改ERP SKU ID"); update.setUpdateTime(new Date()); mapper.updateById(update); diff --git a/module/order/src/main/java/cn/qihangerp/module/order/service/impl/OOrderServiceImpl.java b/module/order/src/main/java/cn/qihangerp/module/order/service/impl/OOrderServiceImpl.java index d55c2941..dc2c475c 100644 --- a/module/order/src/main/java/cn/qihangerp/module/order/service/impl/OOrderServiceImpl.java +++ b/module/order/src/main/java/cn/qihangerp/module/order/service/impl/OOrderServiceImpl.java @@ -1,6 +1,8 @@ package cn.qihangerp.module.order.service.impl; +import cn.qihangerp.module.goods.domain.OGoodsSku; +import cn.qihangerp.module.goods.mapper.OGoodsSkuMapper; import cn.qihangerp.module.order.domain.OOrder; import cn.qihangerp.module.order.domain.OOrderItem; import cn.qihangerp.module.order.domain.OfflineOrder; @@ -30,6 +32,7 @@ import cn.qihangerp.common.utils.StringUtils; import lombok.AllArgsConstructor; import lombok.extern.java.Log; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.interceptor.TransactionAspectSupport; @@ -45,7 +48,7 @@ import java.util.regex.Pattern; * @description 针对表【o_order(订单表)】的数据库操作Service实现 * @createDate 2024-03-09 13:15:57 */ -@Log +@Slf4j @AllArgsConstructor @Service public class OOrderServiceImpl extends ServiceImpl @@ -54,6 +57,8 @@ public class OOrderServiceImpl extends ServiceImpl private final OOrderMapper orderMapper; private final OOrderItemMapper orderItemMapper; + private final OGoodsSkuMapper oGoodsSkuMapper; + private final OfflineOrderMapper offlineOrderMapper; private final OfflineOrderItemMapper offlineOrderItemMapper; @@ -207,7 +212,7 @@ public class OOrderServiceImpl extends ServiceImpl orderItem.setSkuNum(itemObject.getString("outerSkuId")); orderItem.setSkuId(itemObject.getString("skuId")); orderItem.setGoodsId(itemObject.getLong("oGoodsId")); - orderItem.setGoodsSkuId(itemObject.getString("oGoodsSkuId")); + orderItem.setGoodsSkuId(itemObject.getLong("oGoodsSkuId")); orderItem.setGoodsTitle(itemObject.getString("skuName")); orderItem.setGoodsPrice(StringUtils.isEmpty(itemObject.getString("jdPrice")) ? 0.0 : Double.parseDouble(itemObject.getString("jdPrice"))); Integer quantity = itemObject.getInteger("itemTotal"); @@ -251,273 +256,6 @@ public class OOrderServiceImpl extends ServiceImpl } - @Transactional - @Override - public ResultVo jdvcOrderMessage(String customOrderId,JSONObject orderDetail ) { - log.info("接收jdvc订单消息:"+customOrderId); -// JSONObject jsonObject = jdApiService.getOrderDetail(Long.parseLong(customOrderId),1); -// if(jsonObject.getInteger("code")!=200 || jsonObject.getJSONObject("data") ==null){ -// log.info("=====jdvc order message===没有找到订单"); -// return ResultVo.error(404,"没有找到订单"); -// } -// -// JSONObject orderDetail = jsonObject.getJSONObject("data"); - log.info("=====jdvc order message===订单:"+JSONObject.toJSONString(orderDetail)); - - JSONArray itemArray = orderDetail.getJSONArray("items"); - if (itemArray.isEmpty()) { -// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - log.info("=====jdvc order message===没有items====事务回滚======="); - } - - -// List jdVcOrders = jdVcOrderMapper.selectList(new LambdaQueryWrapper().eq(JdVcOrder::getCustomOrderId, customOrderId)); -// if(jdVcOrders == null || jdVcOrders.size() == 0) { -// // 没有找到订单信息 -// return ResultVo.error(ResultVoEnum.NotFound,"没有找到TAO订单:"+customOrderId); -// } -// JdVcOrder jdVcOrder = jdVcOrders.get(0); - // 状态 - Integer orderStatus = null; - Integer refundStatus = null; - // 订单状态:7 新订单;10等待发货;16等待确认收货;19订单完成;22锁定,29删除 - Integer orderState = orderDetail.getInteger("orderState"); - if(orderState==7){ - //7 新订单; - orderStatus = 1; - refundStatus =1; - - }else if(orderState==10){ - //10等待发货; - orderStatus = 1; - refundStatus=1; - }else if(orderState==16){ - //16等待确认收货; - orderStatus = 2; - refundStatus=1; - }else if(orderState==19){ - //19订单完成; - orderStatus = 3; - refundStatus=1; - }else if(orderState==22){ - //22锁定; - orderStatus = 22; - refundStatus = 1; - }else if(orderState==29) { - //29删除; - orderStatus = 29; - refundStatus = 1; - } - - List oOrders = orderMapper.selectList(new LambdaQueryWrapper().eq(OOrder::getOrderNum, customOrderId)); - if(oOrders == null || oOrders.isEmpty()) { - // 新增订单 - // 新增订单 - OOrder insert = new OOrder(); - insert.setOrderNum(customOrderId); - insert.setShopType(EnumShopType.JDVC.getIndex()); - insert.setShopId(orderDetail.getLong("shopId")); - insert.setBuyerMemo(orderDetail.getString("orderRemark")); - insert.setSellerMemo(orderDetail.getString("memoByVendor")); - - insert.setOrderStatus(orderStatus); - insert.setRefundStatus(refundStatus); - insert.setGoodsAmount(orderDetail.getDouble("jdPrice")); - insert.setPostFee(orderDetail.getDouble("totalCarriage")); - insert.setAmount(orderDetail.getDouble("cost")); - insert.setPayment(orderDetail.getDouble("cost")); - insert.setPlatformDiscount(0.0); - insert.setSellerDiscount(0.0); - - insert.setReceiverName(orderDetail.getString("consigneeName")); - insert.setReceiverMobile(orderDetail.getString("phone")); - insert.setAddress(orderDetail.getString("address")); - insert.setProvince(orderDetail.getString("provinceName")); - insert.setCity(orderDetail.getString("cityName")); - insert.setTown(orderDetail.getString("countyName")); - insert.setOrderTime(orderDetail.getDate("orderCreateDate")); - insert.setShipType(0); - insert.setCreateTime(new Date()); - insert.setCreateBy("ORDER_MESSAGE"); - - orderMapper.insert(insert); - // 插入orderItem - addJdVcOrderItem(insert.getId(),customOrderId,orderStatus,orderDetail.getJSONArray("items")); - }else { - //修改 - // 修改订单 (修改:) - OOrder update = new OOrder(); - update.setId(oOrders.get(0).getId()); - update.setOrderStatus(orderStatus); - update.setRefundStatus(refundStatus); - update.setGoodsAmount(orderDetail.getDouble("jdPrice")); - update.setPostFee(orderDetail.getDouble("totalCarriage")); - update.setAmount(orderDetail.getDouble("cost")); - update.setPayment(orderDetail.getDouble("cost")); - update.setPlatformDiscount(0.0); - update.setSellerDiscount(0.0); - update.setPlatformDiscount(0.0); - update.setSellerDiscount(0.0); - - update.setReceiverName(orderDetail.getString("consigneeName")); - update.setReceiverMobile(orderDetail.getString("phone")); - update.setAddress(orderDetail.getString("address")); - update.setProvince(orderDetail.getString("provinceName")); - update.setCity(orderDetail.getString("cityName")); - update.setTown(orderDetail.getString("countyName")); -// update.setOrderTime(jdVcOrder.getOrderCreateDate() ); - update.setUpdateTime(new Date()); - update.setUpdateBy("ORDER_MESSAGE"); - orderMapper.updateById(update); - - // 删除orderItem - orderItemMapper.delete(new LambdaQueryWrapper().eq(OOrderItem::getOrderId,update.getId())); - - // 插入orderItem - addJdVcOrderItem(update.getId(),customOrderId,orderStatus,orderDetail.getJSONArray("items")); - } - return ResultVo.success(); - } - - private void addJdVcOrderItem(String oOrderId,String customOrderId,Integer orderStatus,JSONArray orderItems){ - - if(orderItems!=null && orderItems.size()>0) { - for (int i =0;i jdvcOrderMessage(String orderId) { -// log.info("接收jdvc订单消息:"+orderId); -// List jdVcOrders = jdVcOrderMapper.selectList(new LambdaQueryWrapper().eq(JdVcPurchaseOrder::getOrderId, orderId)); -// if(jdVcOrders == null || jdVcOrders.size() == 0) { -// // 没有找到订单信息 -// return ResultVo.error(ResultVoEnum.NotFound,"没有找到TAO订单:"+orderId); -// } -// JdVcPurchaseOrder jdVcOrder = jdVcOrders.get(0); -// List oOrders = orderMapper.selectList(new LambdaQueryWrapper().eq(OOrder::getOrderNum, orderId)); -// if(oOrders == null || oOrders.isEmpty()) { -// // 新增订单 -// OOrder insert = new OOrder(); -// insert.setOrderNum(orderId); -// insert.setShopType(EnumShopType.JDVC.getIndex()); -// insert.setShopId(jdVcOrder.getShopId().intValue()); -// insert.setBuyerMemo(""); -// insert.setSellerMemo(""); -// // 状态 -// insert.setOrderStatus(jdVcOrder.getState()); -// insert.setRefundStatus(1); -// -// insert.setGoodsAmount(jdVcOrder.getTotalPrice()); -// insert.setPostFee(0.0); -// insert.setAmount(jdVcOrder.getTotalPrice()); -// insert.setPayment(jdVcOrder.getTotalPrice()); -// insert.setReceiverName(jdVcOrder.getReceiverName()); -// insert.setReceiverMobile(jdVcOrder.getWarehousePhone()); -// insert.setAddress(jdVcOrder.getAddress()); -// insert.setProvince(""); -// insert.setCity(""); -// insert.setTown(""); -// insert.setOrderTime(jdVcOrder.getCreatedDate() ); -// insert.setShipType(0); -// insert.setCreateTime(new Date()); -// insert.setCreateBy("ORDER_MESSAGE"); -// -// orderMapper.insert(insert); -// // 插入orderItem -// addJdVcOrderItem(insert.getId(),orderId,jdVcOrder.getState()); -// }else { -// //修改 -// // 修改订单 (修改:) -// OOrder update = new OOrder(); -// update.setId(oOrders.get(0).getId()); -// update.setOrderStatus(jdVcOrder.getState()); -// update.setGoodsAmount(jdVcOrder.getTotalPrice()); -// update.setPostFee(0.0); -// update.setAmount(jdVcOrder.getTotalPrice()); -// update.setPayment(jdVcOrder.getTotalPrice()); -// update.setReceiverName(jdVcOrder.getReceiverName()); -// update.setReceiverMobile(jdVcOrder.getWarehousePhone()); -// update.setAddress(jdVcOrder.getAddress()); -// update.setUpdateTime(new Date()); -// update.setUpdateBy("ORDER_MESSAGE"); -// orderMapper.updateById(update); -// -// // 删除orderItem -// orderItemMapper.delete(new LambdaQueryWrapper().eq(OOrderItem::getOrderId,update.getId())); -// -// // 插入orderItem -// addJdVcOrderItem(update.getId(),orderId,jdVcOrder.getState()); -// } -// return ResultVo.success(); -// } -// -// private void addJdVcOrderItem(String oOrderId,String orderId,Integer orderStatus){ -// List originOrderItems = jdVcOrderItemMapper.selectList(new LambdaQueryWrapper().eq(JdVcPurchaseOrderItem::getOrderId, orderId)); -// if(originOrderItems!=null && originOrderItems.size()>0) { -// for (var item : originOrderItems) { -// OOrderItem orderItem = new OOrderItem(); -// orderItem.setOrderId(oOrderId); -// orderItem.setOrderNum(item.getOrderId().toString()); -// orderItem.setSubOrderNum(item.getId().toString()); -// // 这里将订单商品skuid转换成erp系统的skuid -// Long erpGoodsId = 0L; -// Long erpSkuId = 0L; -// -// List shopGoods = jdVcGoodsMapper.selectList(new LambdaQueryWrapper().eq(JdVcGoods::getWareId, item.getWareId())); -// if (shopGoods != null && !shopGoods.isEmpty()) { -// erpGoodsId = shopGoods.get(0).getOGoodsId(); -// erpSkuId = shopGoods.get(0).getOGoodsSkuId(); -//// orderItem.setGoodsImg(taoGoodsSku.get(0).getLogo()); -//// orderItem.setGoodsSpec(jdGoodsSkus.get(0).getSkuName()); -//// orderItem.setSkuNum(taoGoodsSku.get(0).getOuterId()); -// } -// orderItem.setSkuNum(""); -// orderItem.setSkuId(item.getWareId().toString()); -// orderItem.setGoodsId(erpGoodsId); -// orderItem.setGoodsSkuId(erpSkuId); -// orderItem.setGoodsImg(""); -// orderItem.setGoodsSpec(item.getWareName()); -// orderItem.setGoodsTitle(item.getWareName()); -// orderItem.setGoodsPrice(item.getTotoalPrice()); -// orderItem.setItemAmount(item.getPurchasePrice()); -// orderItem.setPayment(item.getPurchasePrice()); -// orderItem.setQuantity(item.getOriginalNum()); -// orderItem.setRefundStatus(1); -// orderItem.setRefundCount(0); -// // 状态 -// orderItem.setOrderStatus(orderStatus); -// orderItem.setCreateTime(new Date()); -// orderItem.setCreateBy("ORDER_MESSAGE"); -// orderItemMapper.insert(orderItem); -// } -// } -// } @Transactional @Override @@ -654,12 +392,8 @@ public class OOrderServiceImpl extends ServiceImpl update.setUpdateBy("ORDER_MESSAGE"); orderMapper.updateById(update); - // 删除orderItem - orderItemMapper.delete(new LambdaQueryWrapper().eq(OOrderItem::getOrderId,update.getId())); // 插入orderItem addTaoOrderItem(update.getId(),tid,itemArray); - - } return ResultVo.success(); } @@ -668,14 +402,53 @@ public class OOrderServiceImpl extends ServiceImpl for (int i = 0; i < itemArray.size(); i++) { JSONObject itemObject = itemArray.getJSONObject(i); + // 查询商品库商品 + Long oGoodsId = itemObject.getLong("oGoodsId"); + Long oGoodsSkuId =itemObject.getLong("oGoodsSkuId"); + String skuNum = itemObject.getString("outerSkuId"); + + if(oGoodsSkuId<=0){ + // 没有关联商品库商品skuid,查找关联====使用skucode查找 + if(org.springframework.util.StringUtils.hasText(skuNum)) { + List oGoodsSkus = oGoodsSkuMapper.selectList(new LambdaQueryWrapper().eq(OGoodsSku::getSkuCode, skuNum)); + if(oGoodsSkus==null||oGoodsSkus.isEmpty()){ + log.error("同步TAO订单没有找到商品库商品SKU"); + }else{ + oGoodsId = oGoodsSkus.get(0).getGoodsId(); + oGoodsSkuId = oGoodsSkus.get(0).getId(); + } + }else { + log.error("同步TAO订单{},原始订单没有填写sku编码信息",tid); + } + }else{ + OGoodsSku oGoodsSku = oGoodsSkuMapper.selectById(oGoodsSkuId); + if(oGoodsSku==null){ + // 没有关联商品库商品skuid,查找关联====使用skucode查找 + if(org.springframework.util.StringUtils.hasText(skuNum)) { + List oGoodsSkus = oGoodsSkuMapper.selectList(new LambdaQueryWrapper().eq(OGoodsSku::getSkuCode, skuNum)); + if(oGoodsSkus==null||oGoodsSkus.isEmpty()){ + log.error("同步TAO订单没有找到商品库商品SKU"); + }else{ + oGoodsId = oGoodsSkus.get(0).getGoodsId(); + oGoodsSkuId = oGoodsSkus.get(0).getId(); + } + }else { + log.error("同步TAO订单{},原始订单没有填写sku编码信息",tid); + } + }else{ + oGoodsId = oGoodsSku.getGoodsId(); + oGoodsSkuId = oGoodsSku.getId(); + } + } + OOrderItem orderItem = new OOrderItem(); orderItem.setOrderId(oOrderId); orderItem.setOrderNum(tid); orderItem.setSubOrderNum(itemObject.getString("oid")); - orderItem.setSkuNum(itemObject.getString("outerSkuId")); + orderItem.setSkuNum(skuNum); orderItem.setSkuId(itemObject.getString("skuId")); - orderItem.setGoodsId(itemObject.getLong("oGoodsId")); - orderItem.setGoodsSkuId(itemObject.getString("oGoodsSkuId")); + orderItem.setGoodsId(oGoodsId); + orderItem.setGoodsSkuId(oGoodsSkuId); orderItem.setGoodsImg(itemObject.getString("picPath")); orderItem.setGoodsSpec(itemObject.getString("skuPropertiesName")); orderItem.setGoodsTitle(itemObject.getString("title")); @@ -706,9 +479,21 @@ public class OOrderServiceImpl extends ServiceImpl // 状态 int orderStatus = TaoOrderStateEnum.getIndex(itemObject.getString("status")); orderItem.setOrderStatus(orderStatus); - orderItem.setCreateTime(new Date()); - orderItem.setCreateBy("ORDER_MESSAGE"); - orderItemMapper.insert(orderItem); + + List oOrderItems = orderItemMapper.selectList(new LambdaQueryWrapper().eq(OOrderItem::getOrderId, oOrderId).eq(OOrderItem::getSkuId, itemObject.getString("skuId"))); + if(oOrderItems==null||oOrderItems.isEmpty()){ + //不存在,新增 + orderItem.setCreateTime(new Date()); + orderItem.setCreateBy("ORDER_MESSAGE"); + orderItemMapper.insert(orderItem); + }else { + orderItem.setId(oOrderItems.get(0).getId()); + orderItem.setUpdateBy("ORDER_MESSAGE"); + orderItem.setUpdateTime(new Date()); + orderItemMapper.updateById(orderItem); + } + + } } @@ -819,7 +604,7 @@ public class OOrderServiceImpl extends ServiceImpl orderItem.setSkuNum(itemObject.getString("outerId")); orderItem.setSkuId(itemObject.getString("skuId")); orderItem.setGoodsId(itemObject.getLong("ogoodsId")); - orderItem.setGoodsSkuId(itemObject.getString("ogoodsSkuId")); + orderItem.setGoodsSkuId(itemObject.getLong("ogoodsSkuId")); orderItem.setGoodsImg(itemObject.getString("goodsImg")); orderItem.setGoodsSpec(itemObject.getString("goodsSpec")); orderItem.setGoodsTitle(itemObject.getString("goodsName")); @@ -928,7 +713,7 @@ public class OOrderServiceImpl extends ServiceImpl orderItem.setSkuNum(itemObject.getString("outerId")); orderItem.setSkuId(itemObject.getString("skuId")); orderItem.setGoodsId(itemObject.getLong("ogoodsId")); - orderItem.setGoodsSkuId(itemObject.getString("ogoodsSkuId")); + orderItem.setGoodsSkuId(itemObject.getLong("ogoodsSkuId")); orderItem.setGoodsImg(itemObject.getString("goodsImg")); orderItem.setGoodsSpec(itemObject.getString("goodsSpec")); orderItem.setGoodsTitle(itemObject.getString("goodsName")); @@ -1164,7 +949,7 @@ public class OOrderServiceImpl extends ServiceImpl orderItem.setSkuNum(itemObject.getString("outSkuId")); orderItem.setSkuId(itemObject.getString("skuId")); orderItem.setGoodsId(itemObject.getLong("ogoodsId")); - orderItem.setGoodsSkuId(itemObject.getString("ogoodsSkuId")); + orderItem.setGoodsSkuId(itemObject.getLong("ogoodsSkuId")); orderItem.setGoodsImg(itemObject.getString("productPic")); // if(org.springframework.util.StringUtils.hasText(item.getSpec())) { @@ -1311,7 +1096,7 @@ public class OOrderServiceImpl extends ServiceImpl orderItem.setSkuNum(item.getSkuNum()); orderItem.setSkuId(item.getSkuId()); orderItem.setGoodsId(item.getGoodsId()); - orderItem.setGoodsSkuId(item.getGoodsSkuId()+""); + orderItem.setGoodsSkuId(item.getGoodsSkuId()); orderItem.setGoodsImg(item.getGoodsImg()); orderItem.setGoodsSpec(item.getGoodsSpec()); orderItem.setGoodsTitle(item.getGoodsTitle()); @@ -1460,102 +1245,6 @@ public class OOrderServiceImpl extends ServiceImpl return orderMapper.getWaitShipOrderAllCount(); } -// /** -// * 新增订单 -// * -// * @param bo 订单 -// * @return 结果 -// */ -// @Transactional -// @Override -// public int insertErpOrder(OrderCreateBo bo,String createBy) -// { -// List oOrders = orderMapper.selectList(new LambdaQueryWrapper().eq(OOrder::getOrderNum, bo.getOrderNum())); -// -// if (oOrders!=null&& oOrders.size()>0) return -1;// 订单号已存在 -//// erpOrder.setCreateTime(DateUtils.getNowDate()); -//// int rows = erpOrderMapper.insertErpOrder(erpOrder); -//// insertErpOrderItem(erpOrder); -//// return rows; -// if(bo.getItemList() == null || bo.getItemList().size() == 0) return -2; -// else{ -// // 循环查找是否缺少specId -// for (OrderCreateItemBo itemBo : bo.getItemList()) { -// if(itemBo.getSkuId()==null || itemBo.getQuantity()<=0) return -3; -// } -// } -// -// OShop shop = shopMapper.selectById(bo.getShopId()); -// Integer shopType = 0; -// if(shop!=null){ -// shopType = shop.getType(); -// }else return -4; -// -// // 开始组合订单信息 -// OOrder order = new OOrder(); -// order.setOrderNum(bo.getOrderNum()); -// order.setShopId(bo.getShopId()); -// order.setShopType(shopType); -// order.setBuyerMemo(bo.getBuyerMemo()); -// order.setRemark(bo.getRemark()); -// order.setRefundStatus(1); -// order.setOrderStatus(1); -// order.setGoodsAmount(bo.getGoodsAmount()); -// order.setPostFee(bo.getPostage()); -// order.setAmount(bo.getGoodsAmount()+bo.getPostage()); -// order.setSellerDiscount(bo.getSellerDiscount()); -// order.setPlatformDiscount(0.0); -// order.setPayment(bo.getGoodsAmount()+bo.getPostage()-bo.getSellerDiscount()); -// order.setReceiverName(bo.getReceiverName()); -// order.setReceiverMobile(bo.getReceiverPhone()); -// order.setProvince(bo.getProvince()); -// order.setCity(bo.getCity()); -// order.setTown(bo.getTown()); -// order.setAddress(bo.getAddress()); -// order.setOrderTime(new Date()); -// -// order.setCreateTime(new Date()); -// order.setShipType(0); -// order.setErpPushStatus(0); -// order.setCreateBy(createBy); -// -// orderMapper.insert(order); -// -//// List itemList = new ArrayList(); -// for (int i = 0; i < bo.getItemList().size(); i++) { -// OrderCreateItemBo itemBo = bo.getItemList().get(i); -// OOrderItem orderItem = new OOrderItem(); -// -// orderItem.setOrderId(order.getId()); -// orderItem.setOrderNum(bo.getOrderNum()); -// if(bo.getItemList().size()==1) { -// orderItem.setSubOrderNum(bo.getOrderNum()); -// }else{ -// orderItem.setSubOrderNum(bo.getOrderNum()+(i+1)); -// } -// orderItem.setSkuId(itemBo.getSkuId()); -// orderItem.setGoodsId(0L); -// orderItem.setGoodsSkuId(Long.parseLong(itemBo.getSkuId())); -// orderItem.setGoodsTitle(itemBo.getGoodsName()); -// orderItem.setGoodsImg(itemBo.getGoodsImg()); -// orderItem.setGoodsSpec(itemBo.getSkuName()); -// orderItem.setSkuNum(itemBo.getSkuCode()); -// orderItem.setGoodsPrice(itemBo.getGoodsPrice().doubleValue()); -// orderItem.setItemAmount(itemBo.getItemAmount().doubleValue()); -// orderItem.setPayment(itemBo.getItemAmount().doubleValue()); -// orderItem.setQuantity(itemBo.getQuantity()); -// orderItem.setRefundCount(0); -// orderItem.setRefundStatus(1); -// orderItem.setOrderStatus(order.getOrderStatus()); -// orderItem.setHasPushErp(0); -// orderItem.setCreateTime(new Date()); -// orderItem.setCreateBy(createBy); -// orderItemMapper.insert(orderItem); -//// itemList.add(orderItem); -// } -// -// return 1; -// } } diff --git a/module/order/src/main/java/cn/qihangerp/module/order/service/impl/ORefundServiceImpl.java b/module/order/src/main/java/cn/qihangerp/module/order/service/impl/ORefundServiceImpl.java index 0e07acbe..b502a60a 100644 --- a/module/order/src/main/java/cn/qihangerp/module/order/service/impl/ORefundServiceImpl.java +++ b/module/order/src/main/java/cn/qihangerp/module/order/service/impl/ORefundServiceImpl.java @@ -236,121 +236,6 @@ public class ORefundServiceImpl extends ServiceImpl return ResultVo.success(); } - @Transactional - @Override - public ResultVo jdvcRefundMessage(String returnId,JSONObject refundDetail) { - log.info("京东VC退货消息处理" + returnId); -// log.info("=====jdvc refund message===消息处理" + returnId); -// JSONObject jsonObject = jdApiService.getRefundDetail(Long.parseLong(returnId),1); -// if(jsonObject.getInteger("code")!=200 || jsonObject.getJSONObject("data") ==null){ -// log.info("=====jdvc refund message===没有找到退款单"); -// return ResultVo.error(404,"没有找到退款单"); -// } -// -// JSONObject refundDetail = jsonObject.getJSONObject("data"); - log.info("=====jdvc refund message===退款单:"+JSONObject.toJSONString(refundDetail)); - - - -// List returnList = jdVcRefundMapper.selectList(new LambdaQueryWrapper().eq(JdVcRefund::getId, returnId)); -// if (returnList == null || returnList.size() == 0) { -// // 没有找到订单信息 -// return ResultVo.error(ResultVoEnum.NotFound, "没有找到京东VC退货单:" + returnId); -// } -// JdVcRefund jdVcRefund = returnList.get(0); - // 对JSON做处理 -// JSONArray jsonArray = JSONArray.parseArray(jdVcRefund.getOrderDetailList()); - - //类型(10-退货 20-换货 30-维修 40-大家电安装 50-大家电移机 60-大家电增值服务 70-上门维修 90-优鲜赔 80-补发商品 100-试用收回 11-仅退款) - Integer refundType=null; - Integer hasReturnGoods = null; - if(refundDetail.getInteger("orderState")==29 ) { - if (refundDetail.getInteger("operatorState") == 5 || refundDetail.getInteger("operatorState") == 10) { - refundType = 11;//这是没有发货的退货 - hasReturnGoods = 0; - } else if (refundDetail.getInteger("operatorState") == 16) { - refundType = 10;//这是发货了的退款 - hasReturnGoods = 1; - } - } - Integer status=10010; - //审核状态0未审核 1审核通过 2审核不通过 - if(refundDetail.getInteger("approvalState")==0){ - // 10001-待审核 - status = 10001; - }else if(refundDetail.getInteger("approvalState")==1){ - status = 10010; - }else if(refundDetail.getInteger("approvalState")==2){ - status = 14000; - } - - - List oRefunds = mapper.selectList(new LambdaQueryWrapper().eq(ORefund::getRefundNum, returnId)); - - if (oRefunds == null || oRefunds.isEmpty()) { - // 新增 - ORefund insert = new ORefund(); - insert.setRefundNum(refundDetail.getString("id")); - insert.setRefundType(refundType); - insert.setHasGoodReturn(hasReturnGoods); - insert.setShopId(refundDetail.getLong("shopId")); - insert.setShopType(EnumShopType.JDVC.getIndex()); - - // 查询ERP订单 -// OOrder order = null; -// OOrderItem orderItem = null; -// List oOrders = orderMapper.selectList(new LambdaQueryWrapper().eq(OOrder::getOrderNum, jdVcRefund.getCustomOrderId()).eq(OOrder::getShopId, jdVcRefund.getShopId())); -// if(oOrders!=null && oOrders.size()>0){ -// order = oOrders.get(0); -// List oOrderItems = orderItemMapper.selectList(new LambdaQueryWrapper().eq(OOrderItem::getOrderId, oOrders.get(0).getId()).eq(OOrderItem::getSkuId, jdVcRefund.getSkuId())); -// if(oOrderItems!=null && oOrderItems.size()>0){ -// orderItem = oOrderItems.get(0); -// }else{ -// log.info("没有找到TAO子订单erp信息:"); -// return ResultVo.error(ResultVoEnum.NotFound,"没有找到TAO子订单erp信息:"); -// } -// }else{ -// log.info("没有找到TAO订单erp信息:"+jdVcRefund.getCustomOrderId()); -// return ResultVo.error(ResultVoEnum.NotFound,"没有找到TAO订单erp信息:"+jdVcRefund.getCustomOrderId()); -// } - - insert.setOrderNum(refundDetail.getString("customOrderId")); - insert.setOrderItemNum(refundDetail.getString("customOrderId")+"-"+refundDetail.getString("skuId")); - insert.setSkuId(refundDetail.getLong("skuId")); - insert.setGoodsId(refundDetail.getLong("ogoodsId")); - insert.setGoodsSkuId(refundDetail.getString("ogoodsSkuId")); - insert.setSkuNum(refundDetail.getString("skuId")); - insert.setGoodsName(refundDetail.getString("commodityName")); - insert.setGoodsSku(""); - insert.setGoodsImage(""); - insert.setQuantity(refundDetail.getLong("commodityNum")); - - insert.setRefundReason(refundDetail.getString("roReason")); - insert.setStatus(status); - insert.setRefundFee(refundDetail.getDouble("roApplyFee")); - // todo:少了一個退款申請時間 - insert.setCreateTime(new Date()); - insert.setCreateBy("REFUND_MESSAGE"); - mapper.insert(insert); - } else { - // 修改 - ORefund update = new ORefund(); - update.setId(oRefunds.get(0).getId()); - update.setRefundType(refundType); - update.setHasGoodReturn(hasReturnGoods); - update.setGoodsId(refundDetail.getLong("ogoodsId")); - update.setGoodsSkuId(refundDetail.getString("ogoodsSkuId")); - update.setRefundFee(refundDetail.getDouble("roApplyFee")); - update.setStatus(status); -// update.setStatus(jdAfter.getServiceStatus()); - update.setUpdateTime(new Date()); - update.setUpdateBy("REFUND_MESSAGE"); - mapper.updateById(update); - } - - - return ResultVo.success(); - } @Transactional @Override