xiaoyong931011
2022-08-29 e8e47505ddbb1aaf0b3575f8d8ec569c37268c4a
20220822
6 files modified
2 files added
111 ■■■■■ changed files
src/main/java/cc/mrbird/febs/common/utils/ZzSmsSend.java 2 ●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/controller/ApiMallOrderController.java 6 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/dto/ApplyRefundOrderDto.java 30 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/entity/MallRefundEntity.java 9 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/mapper/MallRefundMapper.java 6 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/IApiMallOrderInfoService.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java 32 ●●●●● patch | view | raw | blame | history
src/main/resources/mapper/modules/MallRefundMapper.xml 24 ●●●●● patch | view | raw | blame | history
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));
    }
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) {
src/main/java/cc/mrbird/febs/mall/dto/ApplyRefundOrderDto.java
New file
@@ -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;
}
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;
}
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);
}
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);
}
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("已申请");
    }
}
src/main/resources/mapper/modules/MallRefundMapper.xml
New file
@@ -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>