无关风月
2024-09-12 f7042f313660010345f199d62afb6e3aeb8b5194
Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile

# Conflicts:
# ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderInvoiceServiceImpl.java
18个文件已修改
109 ■■■■ 已修改文件
ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserIntegralChange.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TShoppingOrder.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-payment/src/main/java/com/ruoyi/payment/api/feignClient/WxPaymentClient.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-payment/src/main/java/com/ruoyi/payment/api/vo/PaymentOrder.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/dto/ExchangeDto.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserIntegralChangeController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/barrierGate/server/ParkingOrderService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TShoppingOrderController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TExchangeOrderServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderInvoiceServiceImpl.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingBillMapper.xml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TSettlementConfirmMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TGoodsController.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-payment/pom.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/controller/WxPayController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserIntegralChange.java
@@ -57,6 +57,7 @@
    @ApiModelProperty(value = "添加时间")
    @TableField("create_time")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDateTime createTime;
    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TShoppingOrder.java
@@ -37,6 +37,9 @@
    @ApiModelProperty(value = "订单编号")
    @TableField("code")
    private String code;
    @ApiModelProperty(value = "订单标题")
    @TableField("title")
    private String title;
    @ApiModelProperty(value = "用户id")
    @TableField("app_user_id")
ruoyi-api/ruoyi-api-payment/src/main/java/com/ruoyi/payment/api/feignClient/WxPaymentClient.java
@@ -29,7 +29,7 @@
     * @return
     */
    @PostMapping("/wx/query/queryOrderInfo")
    R<NotifyV3PayDecodeRespBody> queryOrderInfo(String orderId);
    R<NotifyV3PayDecodeRespBody> queryOrderInfo(@RequestParam("orderId") String orderId);
    
    
    /**
ruoyi-api/ruoyi-api-payment/src/main/java/com/ruoyi/payment/api/vo/PaymentOrder.java
@@ -29,5 +29,5 @@
    /**
     * 回调地址
     */
    private String notifyUrl ="http://192.168.110.80:9000/payment/wx/pay/notify";
    private String notifyUrl ="http://221.182.45.100:9000/payment/wx/pay/notify";
}
ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/dto/ExchangeDto.java
@@ -36,6 +36,10 @@
    BigDecimal discountPrice;
    @ApiModelProperty(hidden =true)
    BigDecimal vipDiscount;
    @ApiModelProperty(hidden =true)
    String title;
    @ApiModelProperty(hidden =true)
    String phone;
}
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserIntegralChangeController.java
@@ -35,7 +35,7 @@
    @ResponseBody
    @PostMapping("/addAppUserIntegralChange")
    public R addAppUserIntegralChange(@RequestBody TAppUserIntegralChange appUserIntegralChange){
        String code = Math.random() * 1000 + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS"));
        String code = Double.valueOf(Math.random() * 1000).intValue() + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS"));
        appUserIntegralChange.setCode(code);
        appUserIntegralChangeService.save(appUserIntegralChange);
        return R.ok();
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/barrierGate/server/ParkingOrderService.java
@@ -47,7 +47,7 @@
        TParkingRecord parkingRecord = new TParkingRecord();
        parkingRecord.setLicensePlate(order.getPlate());
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
        String code = "TC" + Math.random() * 1000 + sdf.format(new Date());
        String code = "TC" + Double.valueOf(Math.random() * 1000).intValue() + sdf.format(new Date());
        parkingRecord.setCode(code);
        parkingRecord.setVehicleColor(order.getPlateColor());
        TParkingLot data = parkingLotClient.getParkingLotByAppKey(order.getAppkey()).getData();
@@ -95,7 +95,7 @@
        TParkingRecord parkingRecord = new TParkingRecord();
        parkingRecord.setLicensePlate(order.getPlatenumber());
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
        String code = "TC" + Math.random() * 1000 + sdf.format(new Date());
        String code = "TC" + Double.valueOf(Math.random() * 1000).intValue() + sdf.format(new Date());
        parkingRecord.setCode(code);
        parkingRecord.setVehicleColor(order.getPlatecolor());
        TParkingLot data = parkingLotClient.getParkingLotByAppKey(order.getAppkey()).getData();
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TShoppingOrderController.java
@@ -280,6 +280,7 @@
    @PostMapping("/create")
    public R<TShoppingOrder> shopCreate(@RequestBody ExchangeDto exchangeDto){
        TShoppingOrder shoppingOrder = new TShoppingOrder();
        shoppingOrder.setTitle(exchangeDto.getTitle());
        shoppingOrder.setCode(OrderCodeUtil.getOrderCode("GW"));
        shoppingOrder.setAppUserId(exchangeDto.getUserId());
        shoppingOrder.setOrderType(exchangeDto.getGoodType());
@@ -302,6 +303,7 @@
        shoppingOrder.setPaymentType(exchangeDto.getPayMethod());
        shoppingOrder.setRemark(exchangeDto.getRemark());
        shoppingOrder.setStatus(1);
        shoppingOrder.setPhone(exchangeDto.getPhone());
        shoppingOrder.setCreateTime(LocalDateTime.now());
        shoppingOrder.setDelFlag(false);
        shoppingOrderService.save(shoppingOrder);
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -417,7 +417,7 @@
        //构建新的待支付订单
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
        TChargingOrder chargingOrder = new TChargingOrder();
        String code = "CD" + Math.random() * 1000 + sdf.format(new Date());
        String code = "CD" + Double.valueOf(Math.random() * 1000).intValue() + sdf.format(new Date());
        chargingOrder.setCode(code);
        chargingOrder.setOrderType(1);
        chargingOrder.setOrderClassification(1);
@@ -633,7 +633,7 @@
            TChargingOrderRefund chargingOrderRefund = new TChargingOrderRefund();
            chargingOrderRefund.setChargingOrderId(chargingOrder.getId());
            SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
            chargingOrderRefund.setRefundCode("CDF" + sdf.format(new Date()) + (Math.random() * 1000));
            chargingOrderRefund.setRefundCode("CDF" + sdf.format(new Date()) + Double.valueOf(Math.random() * 1000).intValue());
            chargingOrderRefund.setRefundAmount(rechargeAmount);
            chargingOrderRefund.setRefundStatus(1);
            chargingOrderRefund.setPayType(rechargePaymentType);
@@ -844,7 +844,7 @@
            }
            TAppUser appUser1 = appUserClient.getUserById(appUser.getInviteUserId()).getData();
            TAppUserIntegralChange appUserIntegralChange = new TAppUserIntegralChange();
            String code = Math.random() * 1000 + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS"));
            String code = Double.valueOf(Math.random() * 1000).intValue() + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS"));
            appUserIntegralChange.setCode(code);
            appUserIntegralChange.setAppUserId(appUser.getInviteUserId());
            appUserIntegralChange.setChangeType(5);
@@ -943,7 +943,7 @@
            TChargingOrderRefund chargingOrderRefund = new TChargingOrderRefund();
            chargingOrderRefund.setChargingOrderId(chargingOrder.getId());
            SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
            chargingOrderRefund.setRefundCode("CDF" + sdf.format(new Date()) + (Math.random() * 1000));
            chargingOrderRefund.setRefundCode("CDF" + sdf.format(new Date()) + (Double.valueOf(Math.random() * 1000).intValue()));
            chargingOrderRefund.setRefundAmount(refundAmount);
            chargingOrderRefund.setRefundStatus(1);
            chargingOrderRefund.setPayType(rechargePaymentType);
@@ -1611,7 +1611,7 @@
            }
            TAppUser appUser1 = appUserClient.getUserById(appUser.getInviteUserId()).getData();
            TAppUserIntegralChange appUserIntegralChange = new TAppUserIntegralChange();
            String code = Math.random() * 1000 + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS"));
            String code = Double.valueOf(Math.random() * 1000).intValue() + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS"));
            appUserIntegralChange.setCode(code);
            appUserIntegralChange.setAppUserId(appUser.getInviteUserId());
            appUserIntegralChange.setChangeType(5);
@@ -1717,7 +1717,7 @@
                chargingOrderRefund.setRefundTime(LocalDateTime.now());
                chargingOrderRefund.setCode(tChargingOrder.getCode());
                SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
                chargingOrderRefund.setRefundCode("GDF" + sdf.format(new Date()) + (Math.random() * 1000));
                chargingOrderRefund.setRefundCode("GDF" + sdf.format(new Date()) + (Double.valueOf(Math.random() * 1000).intValue()));
                chargingOrderRefund.setRefundTitle("后台退款");
                chargingOrderRefund.setRefundContent("后台退款");
                chargingOrderRefund.setRefundReason("后台退款");
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TExchangeOrderServiceImpl.java
@@ -75,7 +75,8 @@
            wrapper.eq(TExchangeOrder::getStatus, query.getStatus());
        }
        long count = this.count(wrapper);
        List<TExchangeOrder> list = this.list(wrapper.orderByDesc(TExchangeOrder::getCreateTime).last(" limit " + query.getPageCurr() + "," + query.getPageSize()));
        Integer pageCurr = (query.getPageCurr() - 1) * query.getPageSize();
        List<TExchangeOrder> list = this.list(wrapper.orderByDesc(TExchangeOrder::getCreateTime).last(" limit " + pageCurr + "," + query.getPageSize()));
        List<MyExchangeOrderList> pageList = new ArrayList<>();
        for (TExchangeOrder tExchangeOrder : list) {
            MyExchangeOrderList exchangeOrderList = new MyExchangeOrderList();
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderInvoiceServiceImpl.java
@@ -117,7 +117,7 @@
            return AjaxResult.error("不能重复申请开票,请刷新数据后重试");
        }
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
        String code = Math.random() * 1000 + sdf.format(new Date());
        String code = Double.valueOf(Math.random() * 1000).intValue() + sdf.format(new Date());
        addOrderInvoice.setAppUserId(userId);
        addOrderInvoice.setCode(code);
        addOrderInvoice.setStatus(1);
@@ -155,9 +155,10 @@
    @Override
    public List<OrderInvoiceList> getMyOrderInvoiceList(GetOrderInvoiceList query) {
        Long userId = tokenService.getLoginUserApplet().getUserId();
        Integer pageCurr = (query.getPageCurr() - 1) * query.getPageSize();
        List<TOrderInvoice> list = this.list(new LambdaQueryWrapper<TOrderInvoice>().eq(TOrderInvoice::getAppUserId, userId)
                .eq(TOrderInvoice::getStatus, query.getStatus()).orderByDesc(TOrderInvoice::getCreateTime)
                .last(" limit " + query.getPageCurr() + ", " + query.getPageSize()));
                .last(" limit " + pageCurr + ", " + query.getPageSize()));
        List<OrderInvoiceList> pageList = new ArrayList<>();
        for (TOrderInvoice tOrderInvoice : list) {
            OrderInvoiceList orderInvoiceList = new OrderInvoiceList();
@@ -247,12 +248,16 @@
    @Override
    public PageInfo<TOrderInvoiceVO> pageList(TOrderInvoiceQuery query) {
        List<TAppUser> tAppUsers = new ArrayList<>();
        // 查询申请用户
        List<TAppUser> userList = appUserClient.selectByPhoneLike(query.getUserPhone()).getData();
        if(CollectionUtils.isEmpty(userList)){
        if (org.springframework.util.StringUtils.hasLength(query.getUserPhone())){
             tAppUsers = appUserClient.selectByPhoneLike(query.getUserPhone()).getData();
            if(CollectionUtils.isEmpty(tAppUsers)){
            return new PageInfo<>();
        }
        query.setUserIds(userList.stream().map(TAppUser::getId).collect(Collectors.toList()));
        }
        query.setUserIds(tAppUsers.stream().map(TAppUser::getId).collect(Collectors.toList()));
        PageInfo<TOrderInvoiceVO> pageInfo = new PageInfo<>(query.getPageCurr(),query.getPageSize());
        List<TOrderInvoiceVO> list = this.baseMapper.pageList(query,pageInfo);
        for (TOrderInvoiceVO tOrderInvoiceVO : list) {
@@ -269,14 +274,15 @@
        List<TOrderInvoiceDetail> orderInvoiceDetailList = orderInvoiceDetailService.list(new LambdaQueryWrapper<TOrderInvoiceDetail>()
                .in(TOrderInvoiceDetail::getOrderInvoiceId, ids));
        List<TAppUser> finalTAppUsers = tAppUsers;
        list.forEach(e->{
            e.setServiceTariff(orderInvoiceDetailList.get(0).getServiceTariff());
            e.setElectricityTariff(orderInvoiceDetailList.get(0).getElectricityTariff());
            e.setAddedServiceTariff(orderInvoiceDetailList.get(0).getAddedServiceTariff());
            e.setAddedService(orderInvoiceDetailList.stream().filter(t->t.getAddedService()!=null).map(TOrderInvoiceDetail::getAddedService).reduce(BigDecimal::add).get());
            e.setElectrovalence(orderInvoiceDetailList.stream().filter(t->t.getElectrovalence()!=null).map(TOrderInvoiceDetail::getElectrovalence).reduce(BigDecimal::add).get());
            e.setServiceCharge(orderInvoiceDetailList.stream().filter(t->t.getServiceCharge()!=null).map(TOrderInvoiceDetail::getServiceCharge).reduce(BigDecimal::add).get());
            e.setUserPhone(userList.stream().filter(m->m.getId().equals(Long.parseLong(e.getBillingUserId().toString()))).findFirst().get().getPhone());
            e.setAddedService(orderInvoiceDetailList.stream().map(TOrderInvoiceDetail::getAddedService).reduce(BigDecimal::add).get());
            e.setElectrovalence(orderInvoiceDetailList.stream().map(TOrderInvoiceDetail::getElectrovalence).reduce(BigDecimal::add).get());
            e.setServiceCharge(orderInvoiceDetailList.stream().map(TOrderInvoiceDetail::getServiceCharge).reduce(BigDecimal::add).get());
            e.setUserPhone(finalTAppUsers.stream().filter(m->m.getId().equals(Long.parseLong(e.getBillingUserId().toString()))).findFirst().get().getPhone());
        });
        pageInfo.setRecords(list);
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java
@@ -201,7 +201,8 @@
            wrapper.eq(TShoppingOrder::getStatus, query.getStatus());
        }
        long count = this.count(wrapper);
        List<TShoppingOrder> list = this.list(wrapper.orderByDesc(TShoppingOrder::getCreateTime).last(" limit " + query.getPageCurr() + ", " + query.getPageSize()));
        Integer pageCurr = (query.getPageCurr() - 1) * query.getPageSize();
        List<TShoppingOrder> list = this.list(wrapper.orderByDesc(TShoppingOrder::getCreateTime).last(" limit " + pageCurr + ", " + query.getPageSize()));
        List<MyShoppingOrderList> pageList = new ArrayList<>();
        for (TShoppingOrder tShoppingOrder : list) {
            MyShoppingOrderList myShoppingOrderList = new MyShoppingOrderList();
@@ -347,7 +348,7 @@
        shoppingOrderRefund.setPayType(shoppingOrder.getPaymentType());
        shoppingOrderRefund.setShoppingOrderId(shoppingOrder.getId());
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
        shoppingOrderRefund.setRefundCode("GDF" + sdf.format(new Date()) + (Math.random() * 1000));
        shoppingOrderRefund.setRefundCode("GDF" + sdf.format(new Date()) + Double.valueOf((Math.random() * 1000)).intValue());
        shoppingOrderRefund.setRefundAmount(refundAmount);
        shoppingOrderRefund.setRefundStatus(1);
        shoppingOrderRefund.setCode(shoppingOrder.getCode());
@@ -447,7 +448,8 @@
    @Override
    public List<MyShoppingOrderList> getNoInvoicedOrder(GetNoInvoicedOrder query) {
        Long userId = tokenService.getLoginUserApplet().getUserId();
        List<TShoppingOrder> list = this.baseMapper.getNoInvoicedOrder(userId, query.getMonth(), query.getPageCurr(), query.getPageSize());
        Integer pageCurr = (query.getPageCurr() - 1) * query.getPageSize();
        List<TShoppingOrder> list = this.baseMapper.getNoInvoicedOrder(userId, query.getMonth(), pageCurr, query.getPageSize());
        List<MyShoppingOrderList> pageList = new ArrayList<>();
        for (TShoppingOrder tShoppingOrder : list) {
            MyShoppingOrderList myShoppingOrderList = new MyShoppingOrderList();
ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingBillMapper.xml
@@ -19,6 +19,7 @@
            and t1.id = #{req.uid}
        </if>
        and t1.billType = 1
        and t1.del_flag = 0
    </select>
    <select id="chargingBillList1" resultType="com.ruoyi.order.api.vo.ChargingBillListVO">
    select t1.* from t_charging_bill t1
@@ -36,5 +37,6 @@
            and t1.id = #{req.uid}
        </if>
        and t1.billType = 2
        and t1.del_flag = 0
    </select>
</mapper>
ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml
@@ -124,7 +124,9 @@
        (payment_amount-refund_amount) as final_amount,
        del_flag
        FROM
        charging_pile_order.t_charging_order UNION ALL
        charging_pile_order.t_charging_order
        where  recharge_payment_status = 2
        UNION ALL
        SELECT
        id,
        `code`,
@@ -141,7 +143,9 @@
        (payment_amount-refund_amount) as final_amount,
        del_flag
        FROM
        charging_pile_order.t_shopping_order UNION ALL
        charging_pile_order.t_shopping_order
        where payment_status = 2
        UNION ALL
        SELECT
        id,
        `code`,
@@ -157,8 +161,11 @@
        refund_status,
        (payment_amount-refund_amount) as final_amount,
        del_flag
        FROM
        charging_pile_order.t_vip_order UNION ALL
        charging_pile_order.t_vip_order
        where  payment_status = 2
        UNION ALL
        SELECT
        id,
        `code`,
ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TSettlementConfirmMapper.xml
@@ -35,6 +35,6 @@
                and (t1.end_time between #{req.startTime} and #{req.endTime}
            </if>
        </if>
and t1.delete_flag = 0
and t1.del_flag = 0
    </select>
</mapper>
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TGoodsController.java
@@ -184,7 +184,8 @@
        return R.ok();
    }
    @ApiOperation(tags = {"小程序-兑换商城"},value = "积分兑换商品")
    @ApiOperation(tags = {"小程序-" +
            "兑换商城"},value = "积分兑换商品")
    @PostMapping(value = "/app/shop")
    public AjaxResult<PageInfo<TGoods>> shop(@RequestBody ExchangeDto exchangeDto) {
        //检查当前用户积分是否够
@@ -269,6 +270,7 @@
        if (exchangeDto.getGoodType()==1){
            TGoods good = goodsService.getById(exchangeDto.getGoodId());
            BigDecimal originalPrice = good.getPreferentialPrice();
            exchangeDto.setTitle("【商品购买】"+good.getName());
            if (isVip){
                if (good.getVipPrice()!=null){
                    vipDiscount = originalPrice.subtract(good.getVipPrice()).multiply(BigDecimal.valueOf(exchangeDto.getNum()));
@@ -277,7 +279,9 @@
            }
            orderPrice =  orderPrice.add(originalPrice.multiply(BigDecimal.valueOf(exchangeDto.getNum())));
        }else {
            TCoupon coupon = couponService.getById(exchangeDto.getGoodId());
            exchangeDto.setTitle("【优惠卷购买】"+coupon.getName());
            BigDecimal originalPrice = coupon.getPaymentAmount();
            if (isVip){
                if (coupon.getVipPaymentAmount()!=null) {
@@ -301,11 +305,14 @@
            }
            payPrice = orderPrice.subtract(coupon.getDiscountAmount());
            discountPrice = coupon.getDiscountAmount();
        }else {
            payPrice = orderPrice;
        }
        exchangeDto.setPayPrice(orderPrice);
        exchangeDto.setPayPrice(payPrice);
        exchangeDto.setDiscountPrice(discountPrice);
        exchangeDto.setVipDiscount(vipDiscount);
        exchangeDto.setUserId(userId);
        exchangeDto.setPhone(user.getPhone());
        //创建订单
        TShoppingOrder shopOrder = orderClient.shopCreate(exchangeDto).getData();
        if (exchangeDto.getPayMethod()==1) {
ruoyi-service/ruoyi-payment/pom.xml
@@ -134,6 +134,10 @@
            <artifactId>alipay-sdk-java</artifactId>
            <version>4.39.186.ALL</version>
        </dependency>
        <dependency>
            <groupId>com.ruoyi</groupId>
            <artifactId>ruoyi-api-order</artifactId>
        </dependency>
    </dependencies>
    <build>
ruoyi-service/ruoyi-payment/src/main/java/com/ruoyi/payment/controller/WxPayController.java
@@ -3,6 +3,7 @@
import com.fasterxml.jackson.core.type.TypeReference;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.order.api.feignClient.OrderClient;
import com.ruoyi.payment.api.vo.PaymentOrder;
import com.ruoyi.payment.api.vo.WxRefundNotifyResp;
import com.ruoyi.payment.wx.enums.RefundEnum;
@@ -15,6 +16,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.math.BigDecimal;
@@ -32,6 +34,10 @@
public class WxPayController {
    @Autowired
    private WxV3Pay wxV3Pay;
    @Resource
    private OrderClient orderClient;
    /**
@@ -108,16 +114,18 @@
     * 支付回调
     */
    @PostMapping("pay/notify")
    @ApiOperation("订单回调")
    public R<Map<String, Object>> payNotify(HttpServletRequest request) throws Exception {
        try {
            Map<String, Object> params = wxV3Pay.verifyNotify(request, new TypeReference<Map<String, Object>>() {});
            log.info("支付回调:{}", params);
            String outRefundNo = (String) params.get("out_refund_no");
            String outRefundNo = (String) params.get("transaction_id");
            String out_trade_no = params.get("out_trade_no").toString();
            String substring = out_trade_no.substring(0, 2);
            switch (substring){
                //购物订单
                case "GW":
                    R r = orderClient.callBack(out_trade_no, outRefundNo);
                System.err.println("----收到购物回调");
                    break;
                case "HY":