优化tao订单消息
This commit is contained in:
parent
4ead082dec
commit
cd41bd9d22
|
|
@ -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);
|
||||
// }
|
||||
}
|
||||
|
|
@ -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);
|
||||
//}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
@ -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()) {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,16 @@
|
|||
package cn.qihangerp.oms.mq;
|
||||
|
||||
import cn.qihangerp.common.ResultVo;
|
||||
import cn.qihangerp.common.mq.MqMessage;
|
||||
|
||||
public interface ApiMessageService {
|
||||
// ResultVo<Integer> jdOrderMessage(String orderId);
|
||||
//
|
||||
// ResultVo<Integer> jdvcOrderMessage(String orderId );
|
||||
// ResultVo<Integer> taoOrderMessage(String tid );
|
||||
// ResultVo<Integer> pddOrderMessage(String orderSn );
|
||||
// ResultVo<Integer> douOrderMessage(String orderId );
|
||||
// ResultVo<Integer> offlineOrderMessage(String orderNum);
|
||||
// ResultVo<Integer> weiOrderMessage(String orderNum );
|
||||
ResultVo<Integer> messageHandle(MqMessage mqMessage);
|
||||
}
|
||||
|
|
@ -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<Integer> 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;
|
||||
}
|
||||
}
|
||||
|
|
@ -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日志
|
||||
# configuration:
|
||||
# log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 开启sql日志
|
||||
|
|
@ -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")
|
||||
) {
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@
|
|||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.projectlombok</groupId>it
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok</artifactId>
|
||||
<version>1.18.30</version>
|
||||
<scope>provided</scope>
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ public class OOrderItem implements Serializable {
|
|||
/**
|
||||
* erp系统商品规格id
|
||||
*/
|
||||
private String goodsSkuId;
|
||||
private Long goodsSkuId;
|
||||
|
||||
/**
|
||||
* 商品标题
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ public class OShipStockUp implements Serializable {
|
|||
/**
|
||||
* erp系统商品规格id
|
||||
*/
|
||||
private String specId;
|
||||
private Long specId;
|
||||
|
||||
/**
|
||||
* 商品标题
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ import java.util.List;
|
|||
*/
|
||||
public interface OOrderService extends IService<OOrder> {
|
||||
ResultVo<Integer> jdOrderMessage(String orderId, JSONObject orderDetail);
|
||||
ResultVo<Integer> jdvcOrderMessage(String orderId,JSONObject orderDetail );
|
||||
|
||||
ResultVo<Integer> taoOrderMessage(String tid,JSONObject orderDetail );
|
||||
ResultVo<Integer> pddOrderMessage(String orderSn,JSONObject orderDetail );
|
||||
ResultVo<Integer> douOrderMessage(String orderId,JSONObject orderDetail );
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ import java.util.List;
|
|||
*/
|
||||
public interface ORefundService extends IService<ORefund> {
|
||||
ResultVo<Integer> jdRefundMessage(String serviceId, JSONObject refundDetail);
|
||||
ResultVo<Integer> jdvcRefundMessage(String returnId,JSONObject refundDetail);
|
||||
|
||||
ResultVo<Integer> taoRefundMessage(String refundId,JSONObject refundDetail);
|
||||
ResultVo<Integer> pddRefundMessage(String refundId,JSONObject refundDetail);
|
||||
ResultVo<Integer> douRefundMessage(String refundId,JSONObject refundDetail);
|
||||
|
|
|
|||
|
|
@ -76,7 +76,7 @@ public class OOrderItemServiceImpl extends ServiceImpl<OOrderItemMapper, OOrderI
|
|||
public ResultVo<Integer> 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);
|
||||
|
|
|
|||
|
|
@ -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<OOrderMapper, OOrder>
|
||||
|
|
@ -54,6 +57,8 @@ public class OOrderServiceImpl extends ServiceImpl<OOrderMapper, OOrder>
|
|||
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<OOrderMapper, OOrder>
|
|||
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<OOrderMapper, OOrder>
|
|||
|
||||
}
|
||||
|
||||
@Transactional
|
||||
@Override
|
||||
public ResultVo<Integer> 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<JdVcOrder> jdVcOrders = jdVcOrderMapper.selectList(new LambdaQueryWrapper<JdVcOrder>().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<OOrder> oOrders = orderMapper.selectList(new LambdaQueryWrapper<OOrder>().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<OOrderItem>().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<orderItems.size();i++) {
|
||||
JSONObject itemObject =orderItems.getJSONObject(i);
|
||||
|
||||
OOrderItem orderItem = new OOrderItem();
|
||||
orderItem.setOrderId(oOrderId);
|
||||
orderItem.setOrderNum(customOrderId);
|
||||
orderItem.setSubOrderNum(customOrderId+"-"+itemObject.getString("sku"));
|
||||
orderItem.setSkuNum(itemObject.getString("sku"));
|
||||
orderItem.setSkuId(itemObject.getString("sku"));
|
||||
orderItem.setGoodsId(itemObject.getLong("ogoodsId"));
|
||||
orderItem.setGoodsSkuId(itemObject.getString("ogoodsSkuId"));
|
||||
orderItem.setGoodsImg("");
|
||||
orderItem.setGoodsSpec(itemObject.getString("wareName"));
|
||||
orderItem.setGoodsTitle(itemObject.getString("wareName"));
|
||||
orderItem.setGoodsPrice(itemObject.getDouble("jdPrice"));
|
||||
orderItem.setItemAmount(itemObject.getDouble("cost"));
|
||||
orderItem.setPayment(itemObject.getDouble("cost"));
|
||||
orderItem.setQuantity(itemObject.getInteger("wareNum"));
|
||||
orderItem.setRefundStatus(1);
|
||||
orderItem.setRefundCount(0);
|
||||
// 状态
|
||||
orderItem.setOrderStatus(orderStatus);
|
||||
orderItem.setCreateTime(new Date());
|
||||
orderItem.setCreateBy("ORDER_MESSAGE");
|
||||
orderItemMapper.insert(orderItem);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// @Override
|
||||
// public ResultVo<Integer> jdvcOrderMessage(String orderId) {
|
||||
// log.info("接收jdvc订单消息:"+orderId);
|
||||
// List<JdVcPurchaseOrder> jdVcOrders = jdVcOrderMapper.selectList(new LambdaQueryWrapper<JdVcPurchaseOrder>().eq(JdVcPurchaseOrder::getOrderId, orderId));
|
||||
// if(jdVcOrders == null || jdVcOrders.size() == 0) {
|
||||
// // 没有找到订单信息
|
||||
// return ResultVo.error(ResultVoEnum.NotFound,"没有找到TAO订单:"+orderId);
|
||||
// }
|
||||
// JdVcPurchaseOrder jdVcOrder = jdVcOrders.get(0);
|
||||
// List<OOrder> oOrders = orderMapper.selectList(new LambdaQueryWrapper<OOrder>().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<OOrderItem>().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<JdVcPurchaseOrderItem> originOrderItems = jdVcOrderItemMapper.selectList(new LambdaQueryWrapper<JdVcPurchaseOrderItem>().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<JdVcGoods> shopGoods = jdVcGoodsMapper.selectList(new LambdaQueryWrapper<JdVcGoods>().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<OOrderMapper, OOrder>
|
|||
update.setUpdateBy("ORDER_MESSAGE");
|
||||
orderMapper.updateById(update);
|
||||
|
||||
// 删除orderItem
|
||||
orderItemMapper.delete(new LambdaQueryWrapper<OOrderItem>().eq(OOrderItem::getOrderId,update.getId()));
|
||||
// 插入orderItem
|
||||
addTaoOrderItem(update.getId(),tid,itemArray);
|
||||
|
||||
|
||||
}
|
||||
return ResultVo.success();
|
||||
}
|
||||
|
|
@ -668,14 +402,53 @@ public class OOrderServiceImpl extends ServiceImpl<OOrderMapper, OOrder>
|
|||
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<OGoodsSku> oGoodsSkus = oGoodsSkuMapper.selectList(new LambdaQueryWrapper<OGoodsSku>().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<OGoodsSku> oGoodsSkus = oGoodsSkuMapper.selectList(new LambdaQueryWrapper<OGoodsSku>().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<OOrderMapper, OOrder>
|
|||
// 状态
|
||||
int orderStatus = TaoOrderStateEnum.getIndex(itemObject.getString("status"));
|
||||
orderItem.setOrderStatus(orderStatus);
|
||||
orderItem.setCreateTime(new Date());
|
||||
orderItem.setCreateBy("ORDER_MESSAGE");
|
||||
orderItemMapper.insert(orderItem);
|
||||
|
||||
List<OOrderItem> oOrderItems = orderItemMapper.selectList(new LambdaQueryWrapper<OOrderItem>().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<OOrderMapper, OOrder>
|
|||
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<OOrderMapper, OOrder>
|
|||
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<OOrderMapper, OOrder>
|
|||
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<OOrderMapper, OOrder>
|
|||
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<OOrderMapper, OOrder>
|
|||
return orderMapper.getWaitShipOrderAllCount();
|
||||
}
|
||||
|
||||
// /**
|
||||
// * 新增订单
|
||||
// *
|
||||
// * @param bo 订单
|
||||
// * @return 结果
|
||||
// */
|
||||
// @Transactional
|
||||
// @Override
|
||||
// public int insertErpOrder(OrderCreateBo bo,String createBy)
|
||||
// {
|
||||
// List<OOrder> oOrders = orderMapper.selectList(new LambdaQueryWrapper<OOrder>().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<OOrderItem> itemList = new ArrayList<OOrderItem>();
|
||||
// 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;
|
||||
// }
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -236,121 +236,6 @@ public class ORefundServiceImpl extends ServiceImpl<ORefundMapper, ORefund>
|
|||
return ResultVo.success();
|
||||
}
|
||||
|
||||
@Transactional
|
||||
@Override
|
||||
public ResultVo<Integer> 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<JdVcRefund> returnList = jdVcRefundMapper.selectList(new LambdaQueryWrapper<JdVcRefund>().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<ORefund> oRefunds = mapper.selectList(new LambdaQueryWrapper<ORefund>().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<OOrder> oOrders = orderMapper.selectList(new LambdaQueryWrapper<OOrder>().eq(OOrder::getOrderNum, jdVcRefund.getCustomOrderId()).eq(OOrder::getShopId, jdVcRefund.getShopId()));
|
||||
// if(oOrders!=null && oOrders.size()>0){
|
||||
// order = oOrders.get(0);
|
||||
// List<OOrderItem> oOrderItems = orderItemMapper.selectList(new LambdaQueryWrapper<OOrderItem>().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
|
||||
|
|
|
|||
Loading…
Reference in New Issue