From b999b74b81f5a344835e6be6690ae0328a6158aa Mon Sep 17 00:00:00 2001
From: phpcjl <phpcjl@gmail.com>
Date: 星期三, 11 十二月 2024 17:07:56 +0800
Subject: [PATCH] 1.后台管理-商品管理
---
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/RefundPassServiceImpl.java | 67 ++++++++++++++++++++++++++++++++-
1 files changed, 65 insertions(+), 2 deletions(-)
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/RefundPassServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/RefundPassServiceImpl.java
index 4bccf3d..b468e51 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/RefundPassServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/RefundPassServiceImpl.java
@@ -1,10 +1,23 @@
package com.ruoyi.order.service.impl;
+import com.alibaba.fastjson2.JSON;
+import com.alibaba.fastjson2.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.core.domain.R;
import com.ruoyi.order.mapper.RefundPassMapper;
+import com.ruoyi.order.model.Order;
+import com.ruoyi.order.model.RefundPass;
+import com.ruoyi.order.service.OrderService;
import com.ruoyi.order.service.RefundPassService;
-import com.ruoyi.model.RefundPass;
+import com.ruoyi.order.vo.ApplyRefundPass;
+import com.ruoyi.other.api.domain.BaseSetting;
+import com.ruoyi.other.api.feignClient.BaseSettingClient;
import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.time.LocalDateTime;
+import java.time.ZoneOffset;
/**
* <p>
@@ -16,5 +29,55 @@
*/
@Service
public class RefundPassServiceImpl extends ServiceImpl<RefundPassMapper, RefundPass> implements RefundPassService {
-
+
+ @Resource
+ private OrderService orderService;
+
+ @Resource
+ private BaseSettingClient baseSettingClient;
+
+
+
+
+
+ /**
+ * 申请售后
+ * @param applyRefundPass
+ * @return
+ */
+ @Override
+ public R applyRefundPass(ApplyRefundPass applyRefundPass) {
+ RefundPass one = this.getOne(new LambdaQueryWrapper<RefundPass>().eq(RefundPass::getOrderId, applyRefundPass.getId()).eq(RefundPass::getDelFlag, 0)
+ .ne(RefundPass::getStatus, 3));
+ if(null != one){
+ return R.fail("不能重复提交售后");
+ }
+ Order order = orderService.getById(applyRefundPass.getId());
+ //判断是都已经超过售后时间
+ LocalDateTime afterSaleTime = order.getAfterSaleTime();
+ if(null != afterSaleTime && afterSaleTime.toEpochSecond(ZoneOffset.UTC) < LocalDateTime.now().toEpochSecond(ZoneOffset.UTC)){
+ return R.fail("已超过售后期间");
+ }
+
+ //构建售后申请数据
+ RefundPass refundPass = new RefundPass();
+ refundPass.setOrderId(applyRefundPass.getId());
+ refundPass.setStatus(1);
+ refundPass.setRefundMethod(applyRefundPass.getRefundMethod());
+ refundPass.setRefundReason(applyRefundPass.getRefundReason());
+ refundPass.setUserRemark(applyRefundPass.getUserRemark());
+ refundPass.setPics(applyRefundPass.getPics());
+ refundPass.setPassStatus(1);
+ refundPass.setDelFlag(0);
+ refundPass.setCreateTime(LocalDateTime.now());
+ BaseSetting baseSetting = baseSettingClient.getBaseSetting(5).getData();
+ JSONObject jsonObject = JSON.parseObject(baseSetting.getContent());
+ refundPass.setName(jsonObject.getString("name"));
+ refundPass.setPhone(jsonObject.getString("phone"));
+ refundPass.setAddress(jsonObject.getString("address"));
+ this.save(refundPass);
+ order.setOrderStatus(7);
+ orderService.updateById(order);
+ return R.ok();
+ }
}
--
Gitblit v1.7.1