From e94d65ccd888d4c39f85bdfd4a7ee1a1bc3204b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=80=81=E9=BD=90?= <280645618@qq.com> Date: Thu, 20 Jun 2024 17:05:24 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84dou=E5=94=AE=E5=90=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/DouRefundApiController.java | 113 ++++ .../dou/controller/DouRefundController.java | 53 ++ .../com/qihang/dou/domain/OmsDouRefund.java | 263 +++++++++ .../com/qihang/dou/domain/bo/DouRefundBo.java | 12 + .../qihang/dou/mapper/OmsDouRefundMapper.java | 18 + .../dou/service/OmsDouRefundService.java | 18 + .../service/impl/OmsDouRefundServiceImpl.java | 101 ++++ .../resources/mapper/OmsDouRefundMapper.xml | 78 +++ vue/src/api/dou/douRefund.js | 44 -- vue/src/api/dou/refund.js | 31 +- vue/src/views/dou/refund/index.vue | 551 ++++++------------ 11 files changed, 829 insertions(+), 453 deletions(-) create mode 100644 open-api/dou-api/src/main/java/com/qihang/dou/controller/DouRefundApiController.java create mode 100644 open-api/dou-api/src/main/java/com/qihang/dou/controller/DouRefundController.java create mode 100644 open-api/dou-api/src/main/java/com/qihang/dou/domain/OmsDouRefund.java create mode 100644 open-api/dou-api/src/main/java/com/qihang/dou/domain/bo/DouRefundBo.java create mode 100644 open-api/dou-api/src/main/java/com/qihang/dou/mapper/OmsDouRefundMapper.java create mode 100644 open-api/dou-api/src/main/java/com/qihang/dou/service/OmsDouRefundService.java create mode 100644 open-api/dou-api/src/main/java/com/qihang/dou/service/impl/OmsDouRefundServiceImpl.java create mode 100644 open-api/dou-api/src/main/resources/mapper/OmsDouRefundMapper.xml delete mode 100644 vue/src/api/dou/douRefund.js diff --git a/open-api/dou-api/src/main/java/com/qihang/dou/controller/DouRefundApiController.java b/open-api/dou-api/src/main/java/com/qihang/dou/controller/DouRefundApiController.java new file mode 100644 index 00000000..8cd37c3f --- /dev/null +++ b/open-api/dou-api/src/main/java/com/qihang/dou/controller/DouRefundApiController.java @@ -0,0 +1,113 @@ +package com.qihang.dou.controller; + + +import cn.qihangerp.open.dou.DouRefundApiHelper; +import cn.qihangerp.open.dou.DouTokenApiHelper; +import cn.qihangerp.open.dou.common.ApiResultVo; +import cn.qihangerp.open.dou.model.Token; +import cn.qihangerp.open.dou.model.after.AfterSale; +import com.alibaba.fastjson2.JSONObject; +import com.qihang.common.common.AjaxResult; +import com.qihang.common.common.ResultVoEnum; +import com.qihang.common.enums.EnumShopType; +import com.qihang.common.enums.HttpStatus; +import com.qihang.common.mq.MqMessage; +import com.qihang.common.mq.MqType; +import com.qihang.dou.domain.OmsDouRefund; +import com.qihang.dou.domain.bo.DouRequest; +import com.qihang.dou.service.OmsDouRefundService; +import lombok.AllArgsConstructor; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.BeanUtils; +import org.springframework.kafka.core.KafkaTemplate; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +@AllArgsConstructor +@RequestMapping("/refund") +@RestController +public class DouRefundApiController { + private static Logger logger = LoggerFactory.getLogger(DouRefundApiController.class); + private final DouApiHelper douApiHelper; + private final OmsDouRefundService refundService; + private final KafkaTemplate kafkaTemplate; + @RequestMapping(value = "/pull_refund", method = RequestMethod.POST) + public AjaxResult pullRefundList(@RequestBody DouRequest req) throws Exception { + if (req.getShopId() == null || req.getShopId() <= 0) { + return AjaxResult.error(HttpStatus.PARAMS_ERROR, "参数错误,没有店铺Id"); + } + var checkResult = douApiHelper.checkBefore(req.getShopId()); + if (checkResult.getCode() != ResultVoEnum.SUCCESS.getIndex()) { + return AjaxResult.error(checkResult.getCode(), checkResult.getMsg(), checkResult.getData()); + } + + String accessToken = checkResult.getData().getAccessToken(); + String url = checkResult.getData().getServerUrl(); + String appKey = checkResult.getData().getAppKey(); + String appSercet = checkResult.getData().getAppSecret(); + + ApiResultVo token = DouTokenApiHelper.getToken(appKey, appSercet,checkResult.getData().getSellerShopId()); + if(token.getCode()==0) { + accessToken = token.getData().getAccessToken(); + }else{ + return AjaxResult.error(token.getMsg()); + } + + Long endTime = System.currentTimeMillis() / 1000;//订单更新结束时间 + Long startTime = endTime-(60 * 60 * 24 * 7);//订单更新开始时间 + + int insertSuccess = 0;//新增成功的订单 + int totalError = 0; + int hasExistOrder = 0;//已存在的订单数 + ApiResultVo apiResultVo = DouRefundApiHelper.pullAfterSaleList(startTime, endTime, 0, 50, appKey, appSercet, accessToken); + + if (apiResultVo.getCode() != 0) return AjaxResult.error(apiResultVo.getCode(), apiResultVo.getMsg()); + + Integer total = apiResultVo.getTotalRecords(); + //成功 + if (apiResultVo.getList() != null) { + for (var item:apiResultVo.getList()) { + OmsDouRefund refund = new OmsDouRefund(); + + BeanUtils.copyProperties(item.getAftersaleInfo(), refund); + refund.setOrderLogistics(JSONObject.toJSONString(item.getAftersaleInfo().getOrderLogistics())); + refund.setAftersaleTags(JSONObject.toJSONString(item.getAftersaleInfo().getAftersaleTags())); + refund.setAutoAuditBits(JSONObject.toJSONString(item.getAftersaleInfo().getAutoAuditBits())); + refund.setTextPart(JSONObject.toJSONString(item.getTextPart())); + refund.setRelatedOrderInfo(JSONObject.toJSONString(item.getOrderInfo().getRelatedOrderInfo())); + refund.setOrderSkuOrderId(item.getOrderInfo().getRelatedOrderInfo().get(0).getSkuOrderId()); + refund.setOrderStatus(item.getOrderInfo().getRelatedOrderInfo().get(0).getOrderStatus()); + refund.setOrderPayAmount(item.getOrderInfo().getRelatedOrderInfo().get(0).getPayAmount()); + refund.setOrderPostAmount(item.getOrderInfo().getRelatedOrderInfo().get(0).getPostAmount()); + refund.setOrderItemNum(item.getOrderInfo().getRelatedOrderInfo().get(0).getItemNum()); + refund.setOrderProductId(item.getOrderInfo().getRelatedOrderInfo().get(0).getProductId()+""); + refund.setOrderProductName(item.getOrderInfo().getRelatedOrderInfo().get(0).getProductName()); + refund.setOrderProductImage(item.getOrderInfo().getRelatedOrderInfo().get(0).getProductImage()); + refund.setOrderShopSkuCode(item.getOrderInfo().getRelatedOrderInfo().get(0).getShopSkuCode()); + refund.setOrderSkuSpec(JSONObject.toJSONString(item.getOrderInfo().getRelatedOrderInfo().get(0).getSkuSpec())); + //插入订单数据 + var result = refundService.saveRefund(req.getShopId(), refund); + if (result.getCode() == ResultVoEnum.DataExist.getIndex()) { + //已经存在 + logger.info("/**************主动更新pdd订单:开始更新数据库:" + refund.getAftersaleId() + "存在、更新****************/"); + kafkaTemplate.send(MqType.REFUND_MQ, JSONObject.toJSONString(MqMessage.build(EnumShopType.DOU, MqType.REFUND_MESSAGE,refund.getAftersaleId().toString()))); + hasExistOrder++; + } else if (result.getCode() == ResultVoEnum.SUCCESS.getIndex()) { + logger.info("/**************主动更新pdd订单:开始更新数据库:" + refund.getAftersaleId() + "不存在、新增****************/"); + kafkaTemplate.send(MqType.REFUND_MQ, JSONObject.toJSONString(MqMessage.build(EnumShopType.DOU, MqType.REFUND_MESSAGE,refund.getAftersaleId().toString()))); + insertSuccess++; + } else { + logger.info("/**************主动更新pdd订单:开始更新数据库:" + refund.getAftersaleId() + "报错****************/"); + totalError++; + } + } + } + String msg = "成功,总共找到:" + apiResultVo.getList().size() + "条商品数据,新增:" + insertSuccess + "条,添加错误:" + totalError + "条,更新:" + hasExistOrder + "条"; + logger.info(msg); + return AjaxResult.success(msg); + } + +} diff --git a/open-api/dou-api/src/main/java/com/qihang/dou/controller/DouRefundController.java b/open-api/dou-api/src/main/java/com/qihang/dou/controller/DouRefundController.java new file mode 100644 index 00000000..46873231 --- /dev/null +++ b/open-api/dou-api/src/main/java/com/qihang/dou/controller/DouRefundController.java @@ -0,0 +1,53 @@ +package com.qihang.dou.controller; + + +import com.alibaba.fastjson2.JSONObject; +import com.qihang.common.common.AjaxResult; +import com.qihang.common.common.PageQuery; +import com.qihang.common.common.PageResult; +import com.qihang.common.common.TableDataInfo; +import com.qihang.common.enums.EnumShopType; +import com.qihang.common.mq.MqMessage; +import com.qihang.common.mq.MqType; +import com.qihang.dou.domain.OmsDouRefund; +import com.qihang.dou.domain.bo.DouOrderPushBo; +import com.qihang.dou.domain.bo.DouRefundBo; +import com.qihang.dou.service.OmsDouRefundService; +import com.qihang.security.common.BaseController; +import lombok.AllArgsConstructor; +import org.springframework.kafka.core.KafkaTemplate; +import org.springframework.web.bind.annotation.*; + +/** + * 拼多多订单Controller + * + * @author qihang + * @date 2024-01-02 + */ +@AllArgsConstructor +@RestController +@RequestMapping("/refund") +public class DouRefundController extends BaseController +{ + private final KafkaTemplate kafkaTemplate; + private final OmsDouRefundService refundService; + @RequestMapping(value = "/list", method = RequestMethod.GET) + public TableDataInfo orderList(DouRefundBo bo, PageQuery pageQuery) { + PageResult result = refundService.queryPageList(bo, pageQuery); + + return getDataTable(result); + } + + @PostMapping("/push_oms") + @ResponseBody + public AjaxResult pushOms(@RequestBody DouOrderPushBo bo) { + // TODO:需要优化消息格式 + if(bo!=null && bo.getIds()!=null) { + for(String id: bo.getIds()) { +// mqUtils.sendApiMessage(MqMessage.build(EnumShopType.DOU, MqType.REFUND_MESSAGE, id)); + kafkaTemplate.send(MqType.REFUND_MQ, JSONObject.toJSONString(MqMessage.build(EnumShopType.DOU, MqType.REFUND_MESSAGE,id))); + } + } + return AjaxResult.success(); + } +} diff --git a/open-api/dou-api/src/main/java/com/qihang/dou/domain/OmsDouRefund.java b/open-api/dou-api/src/main/java/com/qihang/dou/domain/OmsDouRefund.java new file mode 100644 index 00000000..6ee0a2ea --- /dev/null +++ b/open-api/dou-api/src/main/java/com/qihang/dou/domain/OmsDouRefund.java @@ -0,0 +1,263 @@ +package com.qihang.dou.domain; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + +/** + * 抖店退款表 + * @TableName oms_dou_refund + */ +@Data +public class OmsDouRefund implements Serializable { + /** + * 售后订单id,自增 + */ + private Long id; + + /** + * 订单所属商户id + */ + private Long shopId; + + /** + * 售后id + */ + private Long aftersaleId; + + /** + * 售后订单类型,枚举为-1(历史订单),1(商品单),2(店铺单) + */ + private Long aftersaleOrderType; + + /** + * 售后类型;0-退货退款;1-已发货仅退款;2-未发货仅退款;3-换货;6-价保;7-补寄;8-维修 + */ + private Long aftersaleType; + + /** + * 售后状态和请求参数standard_aftersale_status字段对应;3-换货待买家收货;6-待商家同意;7-待买家退货;8-待商家发货;11-待商家二次同意;12-售后成功;14-换货成功;27-商家一次拒绝;28-售后失败;29-商家二次拒绝; + */ + private Long aftersaleStatus; + + /** + * 售后完结时间,完结时间是平台根据商品的类型,售后状态等综合判断生成,当售后单有完结时间返回时售后单不可再做任何操作;未完结售后单的该字段值为0;Unix时间戳:秒 + */ + private Long aftersaleStatusToFinalTime; + + /** + * +关联的订单ID + */ + private String relatedId; + + /** + * 抖音子订单id + */ + private String orderSkuOrderId; + + /** + * 订单状态 + */ + private Integer orderStatus; + + /** + * 付款金额 + */ + private Integer orderPayAmount; + + /** + * +付运费金额 + */ + private Integer orderPostAmount; + + /** + * 购买数量 + */ + private Integer orderItemNum; + + /** + * 商品名 + */ + private String orderProductName; + + /** + * 商品图片 + */ + private String orderProductImage; + + /** + * 商品id + */ + private String orderProductId; + + /** + * 商品规格JSON + */ + private String orderSkuSpec; + + /** + * 商家SKU编码 + */ + private String orderShopSkuCode; + + /** + * 申请时间 + */ + private Long applyTime; + + /** + * 最近更新时间 + */ + private Long updateTime; + + /** + * 当前节点逾期时间 + */ + private Long statusDeadline; + + /** + * 售后退款金额,单位为分 + */ + private Long refundAmount; + + /** + * 售后退运费金额,单位为分 + */ + private Long refundPostAmount; + + /** + * +售后数量 + */ + private Long aftersaleNum; + + /** + * 部分退类型 + */ + private Long partType; + + /** + * 售后退款类型,枚举为-1(历史数据默认值),0(订单货款/原路退款),1(货到付款线下退款),2(备用金),3(保证金),4(无需退款),5(平台垫付) + */ + private Long aftersaleRefundType; + + /** + * 退款方式,枚举为1(极速退款助手)、2(售后小助手)、3(售后急速退)、4(闪电退货) + */ + private Long refundType; + + /** + * 仲裁状态,枚举为0(无仲裁记录),1(仲裁中),2(客服同意),3(客服拒绝),4(待商家举证),5(协商期),255(仲裁结束) + */ + private Long arbitrateStatus; + + /** + * +售后单创建时间 + */ + private Long createTime; + + /** + * 风控理由 + */ + private String riskDecisionReason; + + /** + * 风控描述 + */ + private String riskDecisionDescription; + + /** + * 退优惠金额 + */ + private Long returnPromotionAmount; + + /** + * 退款状态;1-待退款;2-退款中;3-退款成功;4-退款失败;5-追缴成功; + */ + private Long refundStatus; + + /** + * 仲裁责任方 1:商家责任,2:买家责任,3:双方有责,4:平台责任,5:达人责任 + */ + private Long arbitrateBlame; + + /** + * 退货物流单号 + */ + private String returnLogisticsCode; + + /** + * 退货物流公司名称 + */ + private String returnLogisticsCompanyName; + + /** + * 换货SKU信息JSON + */ + private String exchangeSkuInfo; + + /** + * 换货物流公司名称 + */ + private String exchangeLogisticsCompanyName; + + /** + * 备注 + */ + private String remark; + + /** + * 买家是否收到货物,0表示未收到,1表示收到 + */ + private Long gotPkg; + + /** + * 是否拒签后退款(1:已同意拒签, 2:未同意拒签) + */ + private Long isAgreeRefuseSign; + + /** + * 商家首次发货的正向物流信息JSON + */ + private String orderLogistics; + + /** + * 售后标签(含时效延长、风险预警、豁免体验分等标签)标签在平台侧会有更新,标签仅做展示使用,请勿作为系统判断依赖。JSON + */ + private String aftersaleTags; + + /** + * 售后子类型;8001-以换代修。 + */ + private Long aftersaleSubType; + + /** + * 自动审核方式:1-发货前极速退;2-小助手自动同意退款;3-发货后极速退;4-闪电退货;5-跨境零秒退;6-云仓拦截自动退;7-小助手自动同意退货;8-小助手自动同意拒签后退款;9-商家代客填写卡片发起售后;10-治理未发货自动同意退款;11-治理已发货自动同意退款;12-商家快递拦截成功自动退款;13-质检商品免审核;14-协商方案自动同意退款;15-平台卡券自动同意退款;16-三方卡券自动同意退款;17-治理一审自动同意退货退款 + */ + private String autoAuditBits; + + /** + * 文案部分JSON + */ + private String textPart; + + /** + * 售后关联的订单信息JSON + */ + private String relatedOrderInfo; + + /** + * 第一次拉取时间 + */ + private Date pullTime; + + /** + * 最后一次拉取时间 + */ + private Date pullLastTime; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/open-api/dou-api/src/main/java/com/qihang/dou/domain/bo/DouRefundBo.java b/open-api/dou-api/src/main/java/com/qihang/dou/domain/bo/DouRefundBo.java new file mode 100644 index 00000000..c0ea361d --- /dev/null +++ b/open-api/dou-api/src/main/java/com/qihang/dou/domain/bo/DouRefundBo.java @@ -0,0 +1,12 @@ +package com.qihang.dou.domain.bo; + +import lombok.Data; + +@Data +public class DouRefundBo { + private Integer shopId; + private Integer aftersaleType; + private Long orderId; + private String aftersaleId; + private Integer aftersaleStatus; +} diff --git a/open-api/dou-api/src/main/java/com/qihang/dou/mapper/OmsDouRefundMapper.java b/open-api/dou-api/src/main/java/com/qihang/dou/mapper/OmsDouRefundMapper.java new file mode 100644 index 00000000..12f01545 --- /dev/null +++ b/open-api/dou-api/src/main/java/com/qihang/dou/mapper/OmsDouRefundMapper.java @@ -0,0 +1,18 @@ +package com.qihang.dou.mapper; + +import com.qihang.dou.domain.OmsDouRefund; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author TW +* @description 针对表【oms_dou_refund(抖店退款表)】的数据库操作Mapper +* @createDate 2024-06-20 16:59:03 +* @Entity com.qihang.dou.domain.OmsDouRefund +*/ +public interface OmsDouRefundMapper extends BaseMapper { + +} + + + + diff --git a/open-api/dou-api/src/main/java/com/qihang/dou/service/OmsDouRefundService.java b/open-api/dou-api/src/main/java/com/qihang/dou/service/OmsDouRefundService.java new file mode 100644 index 00000000..a57a57f8 --- /dev/null +++ b/open-api/dou-api/src/main/java/com/qihang/dou/service/OmsDouRefundService.java @@ -0,0 +1,18 @@ +package com.qihang.dou.service; + +import com.qihang.common.common.PageQuery; +import com.qihang.common.common.PageResult; +import com.qihang.common.common.ResultVo; +import com.qihang.dou.domain.OmsDouRefund; +import com.baomidou.mybatisplus.extension.service.IService; +import com.qihang.dou.domain.bo.DouRefundBo; + +/** +* @author TW +* @description 针对表【oms_dou_refund(抖店退款表)】的数据库操作Service +* @createDate 2024-06-20 16:59:03 +*/ +public interface OmsDouRefundService extends IService { + PageResult queryPageList(DouRefundBo bo, PageQuery pageQuery); + ResultVo saveRefund(Long shopId, OmsDouRefund refund); +} diff --git a/open-api/dou-api/src/main/java/com/qihang/dou/service/impl/OmsDouRefundServiceImpl.java b/open-api/dou-api/src/main/java/com/qihang/dou/service/impl/OmsDouRefundServiceImpl.java new file mode 100644 index 00000000..f941547d --- /dev/null +++ b/open-api/dou-api/src/main/java/com/qihang/dou/service/impl/OmsDouRefundServiceImpl.java @@ -0,0 +1,101 @@ +package com.qihang.dou.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.qihang.common.common.PageQuery; +import com.qihang.common.common.PageResult; +import com.qihang.common.common.ResultVo; +import com.qihang.common.common.ResultVoEnum; +import com.qihang.dou.domain.OmsDouRefund; +import com.qihang.dou.domain.bo.DouRefundBo; +import com.qihang.dou.service.OmsDouRefundService; +import com.qihang.dou.mapper.OmsDouRefundMapper; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Date; +import java.util.List; + +/** +* @author TW +* @description 针对表【oms_dou_refund(抖店退款表)】的数据库操作Service实现 +* @createDate 2024-06-20 16:59:03 +*/ +@AllArgsConstructor +@Service +public class OmsDouRefundServiceImpl extends ServiceImpl + implements OmsDouRefundService{ + private final OmsDouRefundMapper mapper; + + @Override + public PageResult queryPageList(DouRefundBo bo, PageQuery pageQuery) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() + .eq(bo.getShopId()!=null,OmsDouRefund::getShopId,bo.getShopId()) +// .eq(bo.getCustomerExpect()!=null,OmsJdAfterSale::getCustomerExpect,bo.getCustomerExpect()) +// .eq(bo.getOrderId()!=null,OmsJdAfterSale::getOrderId,bo.getOrderId()) +// .eq(StringUtils.hasText(bo.getServiceId()),OmsJdAfterSale::getServiceId,bo.getServiceId()) + ; + + Page page = mapper.selectPage(pageQuery.build(), queryWrapper); + + return PageResult.build(page); + } + + @Transactional + @Override + public ResultVo saveRefund(Long shopId, OmsDouRefund refund){ + List origin = mapper.selectList(new LambdaQueryWrapper().eq(OmsDouRefund::getAftersaleId,refund.getAftersaleId())); + if(origin!=null&&origin.size()>0){ + // 存在,修改 + OmsDouRefund update = new OmsDouRefund(); + update.setId(origin.get(0).getId()); + update.setAftersaleOrderType(refund.getAftersaleOrderType()); + update.setAftersaleType(refund.getAftersaleType()); + update.setAftersaleStatus(refund.getAftersaleStatus()); + update.setAftersaleStatusToFinalTime(refund.getAftersaleStatusToFinalTime()); + update.setOrderStatus(refund.getOrderStatus()); + update.setUpdateTime(refund.getUpdateTime()); + update.setStatusDeadline(refund.getStatusDeadline()); + update.setRefundAmount(refund.getRefundAmount()); + update.setRefundPostAmount(refund.getRefundPostAmount()); + update.setAftersaleNum(refund.getAftersaleNum()); + update.setPartType(refund.getPartType()); + update.setAftersaleRefundType(refund.getAftersaleRefundType()); + update.setRefundType(refund.getRefundType()); + update.setArbitrateStatus(refund.getArbitrateStatus()); + update.setRefundStatus(refund.getRefundStatus()); + update.setRiskDecisionReason(refund.getRiskDecisionReason()); + update.setRiskDecisionDescription(refund.getRiskDecisionDescription()); + update.setArbitrateBlame(refund.getArbitrateBlame()); + update.setReturnLogisticsCode(refund.getReturnLogisticsCode()); + update.setReturnLogisticsCompanyName(refund.getReturnLogisticsCompanyName()); + update.setExchangeSkuInfo(refund.getExchangeSkuInfo()); + update.setExchangeLogisticsCompanyName(refund.getExchangeLogisticsCompanyName()); + update.setRemark(refund.getRemark()); + update.setGotPkg(refund.getGotPkg()); + update.setIsAgreeRefuseSign(refund.getIsAgreeRefuseSign()); + update.setOrderLogistics(refund.getOrderLogistics()); + update.setAftersaleTags(refund.getAftersaleTags()); + update.setAftersaleSubType(refund.getAftersaleSubType()); + update.setAutoAuditBits(refund.getAutoAuditBits()); + update.setTextPart(refund.getTextPart()); + update.setRelatedOrderInfo(refund.getRelatedOrderInfo()); + update.setPullLastTime(new Date()); + mapper.updateById(update); + return ResultVo.error(ResultVoEnum.DataExist, "退款已经存在,更新成功"); + + }else{ + refund.setShopId(shopId); + refund.setPullTime(new Date()); + mapper.insert(refund); + return ResultVo.success(); + } + + } +} + + + + diff --git a/open-api/dou-api/src/main/resources/mapper/OmsDouRefundMapper.xml b/open-api/dou-api/src/main/resources/mapper/OmsDouRefundMapper.xml new file mode 100644 index 00000000..fa1513da --- /dev/null +++ b/open-api/dou-api/src/main/resources/mapper/OmsDouRefundMapper.xml @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id,shop_id,aftersale_id, + aftersale_order_type,aftersale_type,aftersale_status, + aftersale_status_to_final_time,related_id,order_sku_order_id, + order_status,order_pay_amount,order_post_amount, + order_item_num,order_product_name,order_product_image, + order_product_id,order_sku_spec,order_shop_sku_code, + apply_time,update_time,status_deadline, + refund_amount,refund_post_amount,aftersale_num, + part_type,aftersale_refund_type,refund_type, + arbitrate_status,create_time,risk_decision_reason, + risk_decision_description,return_promotion_amount,refund_status, + arbitrate_blame,return_logistics_code,return_logistics_company_name, + exchange_sku_info,exchange_logistics_company_name,remark, + got_pkg,is_agree_refuse_sign,order_logistics, + aftersale_tags,aftersale_sub_type,auto_audit_bits, + text_part,related_order_info,pull_time, + pull_last_time + + diff --git a/vue/src/api/dou/douRefund.js b/vue/src/api/dou/douRefund.js deleted file mode 100644 index 0ac2127f..00000000 --- a/vue/src/api/dou/douRefund.js +++ /dev/null @@ -1,44 +0,0 @@ -import request from '@/utils/request' - -// 查询抖店订单退款列表 -export function listDouRefund(query) { - return request({ - url: '/dou/douRefund/list', - method: 'get', - params: query - }) -} - -// 查询抖店订单退款详细 -export function getDouRefund(id) { - return request({ - url: '/dou/douRefund/' + id, - method: 'get' - }) -} - -// 新增抖店订单退款 -export function addDouRefund(data) { - return request({ - url: '/dou/douRefund', - method: 'post', - data: data - }) -} - -// 修改抖店订单退款 -export function updateDouRefund(data) { - return request({ - url: '/dou/douRefund', - method: 'put', - data: data - }) -} - -// 删除抖店订单退款 -export function delDouRefund(id) { - return request({ - url: '/dou/douRefund/' + id, - method: 'delete' - }) -} diff --git a/vue/src/api/dou/refund.js b/vue/src/api/dou/refund.js index 975867b3..5a63dfec 100644 --- a/vue/src/api/dou/refund.js +++ b/vue/src/api/dou/refund.js @@ -1,44 +1,27 @@ import request from '@/utils/request' -// 查询抖店订单退款列表 +// 查询退款列表 export function listRefund(query) { return request({ - url: '/dou/refund/list', + url: '/api/dou-api/refund/list', method: 'get', params: query }) } -// 查询抖店订单退款详细 -export function getRefund(id) { - return request({ - url: '/dou/refund/' + id, - method: 'get' - }) -} -// 新增抖店订单退款 -export function addRefund(data) { +export function pullRefund(data) { return request({ - url: '/dou/refund', + url: '/api/dou-api/refund/pull_list', method: 'post', data: data }) } -// 修改抖店订单退款 -export function updateRefund(data) { +export function pushOms(data) { return request({ - url: '/dou/refund', - method: 'put', + url: '/api/dou-api/refund/push_oms', + method: 'post', data: data }) } - -// 删除抖店订单退款 -export function delRefund(id) { - return request({ - url: '/dou/refund/' + id, - method: 'delete' - }) -} diff --git a/vue/src/views/dou/refund/index.vue b/vue/src/views/dou/refund/index.vue index da8fe65d..6ac56cdf 100644 --- a/vue/src/views/dou/refund/index.vue +++ b/vue/src/views/dou/refund/index.vue @@ -1,26 +1,9 @@ - - - - - - - - - - - - - - - - - - - - + + + + + + - + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -