jiangping
2023-10-11 537377e621a0f33767c38d60fa2f27a1fad9a005
Merge branch 'dev' of http://139.186.142.91:10010/r/productDev/parkBike into dev
已添加1个文件
已修改4个文件
92 ■■■■ 文件已修改
server/platform/src/main/java/com/doumee/api/business/GoodsorderController.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/dao/business/web/request/GoodsorderBackDTO.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/dao/business/web/request/GoodsorderCanBanlanceDTO.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/GoodsorderService.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/platform/src/main/java/com/doumee/api/business/GoodsorderController.java
@@ -12,6 +12,7 @@
import com.doumee.dao.business.vo.GoodsorderExportVO;
import com.doumee.dao.business.vo.GoodsorderTotalDataVO;
import com.doumee.dao.business.web.request.GoodsorderBackDTO;
import com.doumee.dao.business.web.request.GoodsorderCanBanlanceDTO;
import com.doumee.dao.business.web.response.GoodsorderDetailDTO;
import com.doumee.service.business.GoodsorderService;
import com.doumee.service.business.GoodsorderService;
@@ -122,7 +123,7 @@
     * @param id
     * @return
     */
    @ApiOperation("根据ID查询")
    @ApiOperation("强制结算订单")
    @PostMapping("/closerGoodsorder")
    @RequiresPermissions("business:goodsorder:query")
    public ApiResponse closerGoodsorder(@RequestParam String id){
@@ -131,11 +132,18 @@
    }
    @ApiOperation("根据ID查询")
    @ApiOperation("退款")
    @PostMapping("/backGoodsorder")
    @RequiresPermissions("business:goodsorder:query")
    public ApiResponse backGoodsorder(@RequestBody GoodsorderBackDTO goodsorderBackDTO){
        goodsorderService.backGoodsorder(goodsorderBackDTO.getOrderId(),goodsorderBackDTO.getMoney());
        goodsorderService.backGoodsorder(goodsorderBackDTO.getOrderId(),goodsorderBackDTO.getMoney(),goodsorderBackDTO.getReason());
        return ApiResponse.success(null);
    }
    @ApiOperation("获取可退款信息")
    @PostMapping("/getGoodsorderCanBanlanceDTO")
    @RequiresPermissions("business:goodsorder:query")
    public ApiResponse<GoodsorderCanBanlanceDTO> getGoodsorderCanBanlanceDTO(@RequestParam String orderId){
        return ApiResponse.success(goodsorderService.getGoodsorderCanBanlanceDTO(orderId));
    }
}
server/services/src/main/java/com/doumee/dao/business/web/request/GoodsorderBackDTO.java
@@ -18,4 +18,7 @@
    @ApiModelProperty(value = "退款金额")
    private BigDecimal money;
    @ApiModelProperty(value = "退款金额")
    private String reason;
}
server/services/src/main/java/com/doumee/dao/business/web/request/GoodsorderCanBanlanceDTO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,31 @@
package com.doumee.dao.business.web.request;
import com.doumee.core.annotation.excel.ExcelColumn;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
import java.math.BigDecimal;
/**
 * @author T14
 */
@Data
@ApiModel("订单退款信息")
public class GoodsorderCanBanlanceDTO {
    @ApiModelProperty(value = "充值押金金额")
    private BigDecimal goodsorderMoney;
    @ApiModelProperty(value = "结算")
    private BigDecimal closeMoney;
    @ApiModelProperty(value = "已退金额")
    private BigDecimal hasRefundMoney;
    @ApiModelProperty(value = "可退金额")
    private BigDecimal canBanlanceMoney;
}
server/services/src/main/java/com/doumee/service/business/GoodsorderService.java
@@ -8,6 +8,7 @@
import com.doumee.dao.business.model.Goodsorder;
import com.doumee.dao.business.vo.GoodsorderExportVO;
import com.doumee.dao.business.vo.GoodsorderTotalDataVO;
import com.doumee.dao.business.web.request.GoodsorderCanBanlanceDTO;
import com.doumee.dao.business.web.response.HomeResponse;
import com.doumee.dao.business.web.response.GoodsorderDetailDTO;
import com.doumee.dao.business.web.response.RidesDetailResponse;
@@ -150,7 +151,13 @@
     * é€€æ¬¾
     * @param orderId
     */
    void backGoodsorder(String orderId, BigDecimal money);
    void backGoodsorder(String orderId, BigDecimal money ,String reason);
    /**
     * èŽ·å–å¯é€€æ¬¾ä¿¡æ¯
     * @param orderId
     */
    GoodsorderCanBanlanceDTO getGoodsorderCanBanlanceDTO(String orderId);
    /**
server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
@@ -26,6 +26,7 @@
import com.doumee.dao.business.model.MemberRides;
import com.doumee.dao.business.vo.GoodsorderExportVO;
import com.doumee.dao.business.vo.GoodsorderTotalDataVO;
import com.doumee.dao.business.web.request.GoodsorderCanBanlanceDTO;
import com.doumee.dao.business.web.request.MemberRidesQuery;
import com.doumee.dao.business.web.request.RefundDTO;
import com.doumee.dao.business.web.response.*;
@@ -56,10 +57,7 @@
import java.net.UnknownHostException;
import java.sql.Ref;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.*;
import java.util.stream.Collectors;
@Service
@@ -462,7 +460,7 @@
    }
    @Override
    public void backGoodsorder(String orderId, BigDecimal money) {
    public void backGoodsorder(String orderId, BigDecimal money,String reason) {
        LoginUserInfo principal = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        Goodsorder goodsorder = goodsorderMapper.selectById(orderId);
@@ -483,13 +481,38 @@
            refundDTO.setRefundAmount(money);
            refundDTO.setTotalAmount(goodsorder.getMoney());
            refundDTO.setMemberId(goodsorder.getMemberId());
            refundDTO.setReason("平台退款");
            refundDTO.setReason(reason);
            refundDTO.setType(Constants.REFUND_TYPE.BACK.getKey());
            Refund refund = wxMiniUtilService.wxRefund(refundDTO);
        }
    }
    @Override
    public GoodsorderCanBanlanceDTO getGoodsorderCanBanlanceDTO(String orderId) {
        Goodsorder goodsorder = goodsorderMapper.selectById(orderId);
        QueryWrapper<Refund> wrapper = new QueryWrapper<>();
        wrapper.lambda()
                .eq(Refund::getObjId,orderId)
                .orderByDesc(Refund::getCreateDate);
        List<Refund> refunds = refundMapper.selectList(wrapper);
        GoodsorderCanBanlanceDTO goodsorderCanBanlanceDTO = new GoodsorderCanBanlanceDTO();
        goodsorderCanBanlanceDTO.setGoodsorderMoney(goodsorder.getMoney());
        goodsorderCanBanlanceDTO.setCloseMoney(goodsorder.getCloseMoney());
        if (!CollectionUtils.isEmpty(refunds)){
            BigDecimal reduce = refunds.stream().map(s -> s.getMoney()).reduce(new BigDecimal("0"), (a, b) -> b.add(a));
            Refund refund = refunds.stream().findFirst().orElse(null);
            goodsorderCanBanlanceDTO.setHasRefundMoney(reduce);
            goodsorderCanBanlanceDTO.setCanBanlanceMoney(refund.getCanBalance().subtract(refund.getMoney()));
        }else {
            goodsorderCanBanlanceDTO.setHasRefundMoney(new BigDecimal("0"));
            goodsorderCanBanlanceDTO.setCanBanlanceMoney(goodsorder.getMoney());
        }
        return goodsorderCanBanlanceDTO;
    }
    @Override
    public GoodsorderTotalDataVO getTotalData(Goodsorder param){
            GoodsorderTotalDataVO model = new GoodsorderTotalDataVO();