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