From e8e47505ddbb1aaf0b3575f8d8ec569c37268c4a Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Mon, 29 Aug 2022 15:23:38 +0800
Subject: [PATCH] 20220822
---
src/main/java/cc/mrbird/febs/mall/controller/ApiMallOrderController.java | 6 +++
src/main/java/cc/mrbird/febs/mall/service/IApiMallOrderInfoService.java | 2 +
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java | 32 ++++++++++++++++
src/main/resources/mapper/modules/MallRefundMapper.xml | 24 ++++++++++++
src/main/java/cc/mrbird/febs/mall/dto/ApplyRefundOrderDto.java | 30 +++++++++++++++
src/main/java/cc/mrbird/febs/common/utils/ZzSmsSend.java | 2
src/main/java/cc/mrbird/febs/mall/mapper/MallRefundMapper.java | 6 +++
src/main/java/cc/mrbird/febs/mall/entity/MallRefundEntity.java | 9 ++++
8 files changed, 110 insertions(+), 1 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/common/utils/ZzSmsSend.java b/src/main/java/cc/mrbird/febs/common/utils/ZzSmsSend.java
index d525d28..92ced9e 100644
--- a/src/main/java/cc/mrbird/febs/common/utils/ZzSmsSend.java
+++ b/src/main/java/cc/mrbird/febs/common/utils/ZzSmsSend.java
@@ -26,7 +26,7 @@
private static final String PWD = "1369815429";
public static boolean sendVerifyCode(String telphone, String code, int time) {
- String content = "【壹元蔬菜】您的验证码是{},请在{}分钟内输入,请勿泄露给他人,如非本人操作,请及时修改密码。";
+ String content = "【美澳】您的验证码是{},请在{}分钟内输入,请勿泄露给他人,如非本人操作,请及时修改密码。";
return send(telphone, StrUtil.format(content, code, time));
}
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallOrderController.java b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallOrderController.java
index 929b34d..e35831e 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallOrderController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallOrderController.java
@@ -97,6 +97,12 @@
return mallOrderInfoService.refundOrder(id);
}
+ @ApiOperation(value = "用户退款--提交退款申请", notes = "用户退款--提交退款申请")
+ @PostMapping(value = "/applyRefundOrder")
+ public FebsResponse applyRefundOrder(@RequestBody ApplyRefundOrderDto applyRefundOrderDto) {
+ return mallOrderInfoService.applyRefundOrder(applyRefundOrderDto);
+ }
+
@ApiOperation(value = "提交退款申请", notes = "提交退款申请")
@PostMapping(value = "/applyRefund")
public FebsResponse applyRefund(@RequestBody AddRefundDto addRefundDto) {
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/ApplyRefundOrderDto.java b/src/main/java/cc/mrbird/febs/mall/dto/ApplyRefundOrderDto.java
new file mode 100644
index 0000000..74ab264
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/dto/ApplyRefundOrderDto.java
@@ -0,0 +1,30 @@
+package cc.mrbird.febs.mall.dto;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+@ApiModel(value = "ApplyRefundOrderDto", description = "小程序提交退款申请")
+public class ApplyRefundOrderDto {
+
+ //退款订单ID
+ private Long orderId;
+ //退款订单详情ID
+ private Long itemId;
+ //退款方式 1:微信 2:支付宝 3:其他
+ private Integer type;
+ //退款状态 1:成功 2:失败 3:退款中
+ private Integer state;
+ //退款金额
+ private BigDecimal amount;
+
+ //退款原因
+ private String refundReason;
+ //退款说明
+ private String refundRemark;
+ //退款图片
+ private String refundPic;
+
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/MallRefundEntity.java b/src/main/java/cc/mrbird/febs/mall/entity/MallRefundEntity.java
index 884b517..71dacc7 100644
--- a/src/main/java/cc/mrbird/febs/mall/entity/MallRefundEntity.java
+++ b/src/main/java/cc/mrbird/febs/mall/entity/MallRefundEntity.java
@@ -16,6 +16,8 @@
private Long memberId;
//退款订单ID
private Long orderId;
+ //退款订单详情ID
+ private Long itemId;
//退款方式 1:微信 2:支付宝 3:其他
private Integer type;
//退款状态 1:成功 2:失败 3:退款中
@@ -23,4 +25,11 @@
//退款金额
private BigDecimal amount;
+ //退款原因
+ private String refundReason;
+ //退款说明
+ private String refundRemark;
+ //退款图片
+ private String refundPic;
+
}
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallRefundMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallRefundMapper.java
index 4ccf42f..f1a73ef 100644
--- a/src/main/java/cc/mrbird/febs/mall/mapper/MallRefundMapper.java
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallRefundMapper.java
@@ -2,6 +2,12 @@
import cc.mrbird.febs.mall.entity.MallRefundEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
public interface MallRefundMapper extends BaseMapper<MallRefundEntity> {
+
+ List<MallRefundEntity> selectByItemIdAndOrderIdAndState(@Param("itemId")Long itemId, @Param("orderId")Long orderId, @Param("state")int i);
+
}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/IApiMallOrderInfoService.java b/src/main/java/cc/mrbird/febs/mall/service/IApiMallOrderInfoService.java
index 8064576..113de64 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/IApiMallOrderInfoService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/IApiMallOrderInfoService.java
@@ -35,4 +35,6 @@
void goodsComment(ApiAddCommentDtos addCommentDtos);
FebsResponse refundOrder(Long id);
+
+ FebsResponse applyRefundOrder(ApplyRefundOrderDto applyRefundOrderDto);
}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
index 7d353a1..b213d54 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -733,4 +733,36 @@
return new FebsResponse().success().message("退款成功");
}
+ @Override
+ public FebsResponse applyRefundOrder(ApplyRefundOrderDto applyRefundOrderDto) {
+ Long orderId = applyRefundOrderDto.getOrderId();
+ Long itemId = applyRefundOrderDto.getItemId();
+ MallMember member = LoginUserUtil.getLoginUser();
+ MallOrderInfo mallOrderInfo = this.baseMapper.selectById(orderId);
+ if(ObjectUtil.isEmpty(mallOrderInfo)){
+ return new FebsResponse().fail().message("订单不存在");
+ }
+
+ List<MallRefundEntity> mallRefundEntitieSuccess = mallRefundMapper.selectByItemIdAndOrderIdAndState(itemId,orderId,1);
+ List<MallRefundEntity> mallRefundEntitiesIng = mallRefundMapper.selectByItemIdAndOrderIdAndState(itemId,orderId,3);
+ if(CollUtil.isNotEmpty(mallRefundEntitieSuccess) || CollUtil.isNotEmpty(mallRefundEntitiesIng)){
+ return new FebsResponse().fail().message("该订单无法申请退款");
+ }
+
+ MallOrderItem mallOrderItem = mallOrderItemMapper.selectById(itemId);
+ MallRefundEntity mallRefundEntity = new MallRefundEntity();
+ mallRefundEntity.setRefundNo(mallOrderInfo.getOrderNo()+"_RITEM"+itemId);
+ mallRefundEntity.setRefundReason(applyRefundOrderDto.getRefundReason());
+ mallRefundEntity.setRefundRemark(applyRefundOrderDto.getRefundRemark());
+ mallRefundEntity.setRefundPic(applyRefundOrderDto.getRefundPic());
+ mallRefundEntity.setMemberId(member.getId());
+ mallRefundEntity.setState(3);
+ mallRefundEntity.setType(1);
+ mallRefundEntity.setOrderId(orderId);
+ mallRefundEntity.setItemId(itemId);
+ mallRefundEntity.setAmount(mallOrderItem.getAmount());
+ mallRefundMapper.insert(mallRefundEntity);
+ return new FebsResponse().success().message("已申请");
+ }
+
}
diff --git a/src/main/resources/mapper/modules/MallRefundMapper.xml b/src/main/resources/mapper/modules/MallRefundMapper.xml
new file mode 100644
index 0000000..fe05001
--- /dev/null
+++ b/src/main/resources/mapper/modules/MallRefundMapper.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cc.mrbird.febs.mall.mapper.MallRefundMapper">
+
+ <select id="selectByItemIdAndOrderIdAndState" resultType="cc.mrbird.febs.mall.entity.MallRefundEntity">
+
+ select a.* from mall_refund a
+ where item_id=#{itemId} and order_id=#{orderId} and state=#{state}
+ <where>
+ <if test="itemId != null and itemId != ''">
+ and a.item_id = #{itemId}
+ </if>
+ <if test="orderId != null and orderId != ''">
+ and a.order_id = #{orderId}
+ </if>
+ <if test="state != null and state != ''">
+ and a.state = #{state}
+ </if>
+ </where>
+
+ </select>
+
+
+</mapper>
\ No newline at end of file
--
Gitblit v1.9.1