xuhy
2024-10-12 3038ae5412652d3e4561bdc7d181e8393c958ac9
Merge remote-tracking branch 'origin/master'
7个文件已修改
1个文件已添加
134 ■■■■■ 已修改文件
ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserIntegralChangeFallbackFactory.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserIntegralChangeClient.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserIntegralChangeController.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java 41 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/EndOfChargePageInfo.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserIntegralChangeFallbackFactory.java
@@ -27,6 +27,11 @@
            public R addAppUserIntegralChange(TAppUserIntegralChange appUserIntegralChange) {
                return R.fail("添加积分变动记录失败:" + throwable.getMessage());
            }
            @Override
            public R<TAppUserIntegralChange> getTAppUserIntegralChangeByOrderCode(String code) {
                return R.fail("根据订单code获取积分记录失败:" + throwable.getMessage());
            }
        };
    }
}
ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserIntegralChangeClient.java
@@ -7,6 +7,7 @@
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
/**
 * @author zhibing.pu
@@ -22,4 +23,13 @@
     */
    @PostMapping("/t-app-user-integral-change/addAppUserIntegralChange")
    R addAppUserIntegralChange(@RequestBody TAppUserIntegralChange appUserIntegralChange);
    /**
     * 根据订单code获取积分记录
     * @param code
     * @return
     */
    @PostMapping("/t-app-user-integral-change/addAppUserIntegralChange")
    R<TAppUserIntegralChange> getTAppUserIntegralChangeByOrderCode(@RequestParam("code") String code);
}
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserIntegralChangeController.java
@@ -1,6 +1,7 @@
package com.ruoyi.account.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.account.api.model.TAppUserIntegralChange;
import com.ruoyi.account.service.TAppUserIntegralChangeService;
import com.ruoyi.common.core.domain.R;
@@ -40,5 +41,18 @@
        appUserIntegralChangeService.save(appUserIntegralChange);
        return R.ok();
    }
    /**
     * 根据订单code获取积分记录
     * @param code
     * @return
     */
    @ResponseBody
    @PostMapping("/getTAppUserIntegralChangeByOrderCode")
    public R<TAppUserIntegralChange> getTAppUserIntegralChangeByOrderCode(@RequestParam("code") String code){
        TAppUserIntegralChange one = appUserIntegralChangeService.getOne(new LambdaQueryWrapper<TAppUserIntegralChange>().eq(TAppUserIntegralChange::getOrderCode, code));
        return R.ok(one);
    }
}
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
@@ -55,6 +55,7 @@
import com.ruoyi.order.service.*;
import com.ruoyi.order.service.impl.TChargingOrderServiceImpl;
import com.ruoyi.order.util.PreviousSixMonths;
import com.ruoyi.order.vo.EndOfChargePageInfo;
import com.ruoyi.payment.api.feignClient.AliPaymentClient;
import com.ruoyi.payment.api.feignClient.WxPaymentClient;
import com.ruoyi.payment.api.vo.AliQueryOrder;
@@ -1443,4 +1444,16 @@
        chargingOrderService.updateById(chargingOrder);
        return R.ok();
    }
    @ResponseBody
    @GetMapping(value = "/getEndOfChargePageInfo/{id}")
    @ApiOperation(value = "获取充电结束页面数据", tags = {"小程序-扫一扫"})
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id", value = "订单id", required = true)
    })
    public AjaxResult<EndOfChargePageInfo> getEndOfChargePageInfo(String id){
        EndOfChargePageInfo endOfChargePageInfo = chargingOrderService.getEndOfChargePageInfo(id);
        return AjaxResult.success(endOfChargePageInfo);
    }
}
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java
@@ -17,6 +17,8 @@
import com.ruoyi.order.api.vo.*;
import com.ruoyi.order.dto.*;
import com.ruoyi.order.vo.ChargingOrderListInfoVO;
import com.ruoyi.order.vo.EndOfChargePageInfo;
import java.time.LocalDate;
import java.util.List;
import java.util.Map;
@@ -248,4 +250,12 @@
    List<Map<String, Object>> countAllUserData();
    List<Map<String, Object>> needElec1(List<Integer> siteIds, ChargingStatisticsQueryDto statisticsQueryDto);
    /**
     * 获取充电结束页面详情
     * @param id
     * @return
     */
    EndOfChargePageInfo getEndOfChargePageInfo(String id);
}
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -47,6 +47,7 @@
import com.ruoyi.order.service.TChargingOrderService;
import com.ruoyi.order.service.TOrderEvaluateService;
import com.ruoyi.order.service.*;
import com.ruoyi.order.vo.EndOfChargePageInfo;
import com.ruoyi.other.api.domain.*;
import com.ruoyi.order.vo.ChargingOrderListInfoVO;
import com.ruoyi.other.api.feignClient.*;
@@ -72,6 +73,8 @@
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.time.format.DateTimeFormatter;
import java.time.format.TextStyle;
import java.time.temporal.WeekFields;
import java.util.*;
import java.util.concurrent.*;
import java.util.stream.Collectors;
@@ -1137,6 +1140,7 @@
            appUserIntegralChange.setHistoricalIntegral(appUser1.getPoints());
            appUserIntegralChange.setCurrentIntegral(appUser1.getPoints() + num1);
            appUserIntegralChange.setCreateTime(LocalDateTime.now());
            appUserIntegralChange.setOrderCode(code1);
            appUserIntegralChangeClient.addAppUserIntegralChange(appUserIntegralChange);
            appUser1.setPoints(appUser1.getPoints() + num1);
@@ -1251,6 +1255,7 @@
            appUser.setPoints(appUser.getPoints() + integral);
            appUserIntegralChange.setCurrentIntegral(appUser.getPoints());
            appUserIntegralChange.setCreateTime(LocalDateTime.now());
            appUserIntegralChange.setOrderCode(chargingOrder.getCode());
            appUserClient.updateAppUser(appUser);
            appUserIntegralChangeClient.addAppUserIntegralChange(appUserIntegralChange);
        }
@@ -1989,6 +1994,7 @@
            appUserIntegralChange.setHistoricalIntegral(appUser1.getPoints());
            appUserIntegralChange.setCurrentIntegral(appUser1.getPoints() + num1);
            appUserIntegralChange.setCreateTime(LocalDateTime.now());
            appUserIntegralChange.setOrderCode(chargingOrder.getCode());
            appUserIntegralChangeClient.addAppUserIntegralChange(appUserIntegralChange);
            
            appUser1.setPoints(appUser1.getPoints() + num1);
@@ -2650,12 +2656,33 @@
    public List<Map<String, Object>> needElec1(List<Integer> siteIds, ChargingStatisticsQueryDto statisticsQueryDto) {
        return this.baseMapper.needElec1(siteIds,statisticsQueryDto);
    }
    public static void main(String[] args) {
//        String format = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy年MM月dd日HH:mm:ss"));
//        String format1 = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy年MM月dd日HH:mm:ss"));
//        System.err.println(format+"至"+format1);
//        LocalDateTime parse = LocalDateTime.parse("2024-01-12 00:00:00", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
//        System.err.println(parse.format(DateTimeFormatter.ofPattern("yyyy-dd")));
    /**
     * 获取充电结束页面详情
     * @param id
     * @return
     */
    @Override
    public EndOfChargePageInfo getEndOfChargePageInfo(String id) {
        EndOfChargePageInfo info = new EndOfChargePageInfo();
        TChargingOrder chargingOrder = this.getById(id);
        info.setId(id);
        info.setCode(chargingOrder.getCode());
        info.setPaymentAmount(chargingOrder.getPaymentAmount());
        info.setCouponDiscountAmount(chargingOrder.getCouponDiscountAmount());
        TAppUserIntegralChange integralChange = appUserIntegralChangeClient.getTAppUserIntegralChangeByOrderCode(chargingOrder.getCode()).getData();
        info.setIntegral(null == integralChange ? 0 : integralChange.getCurrentIntegral() - integralChange.getHistoricalIntegral());
        info.setRechargeAmount(chargingOrder.getRechargeAmount());
        info.setRefundAmount(chargingOrder.getRefundAmount());
        LocalDateTime startTime = chargingOrder.getStartTime();
        LocalDateTime endTime = chargingOrder.getEndTime();
        info.setStartDay(startTime.format(DateTimeFormatter.ofPattern("MM月dd日")) + " 周" + startTime.getDayOfWeek().getDisplayName(TextStyle.FULL, Locale.SIMPLIFIED_CHINESE));
        info.setStartHour(startTime.format(DateTimeFormatter.ofPattern("HH:mm")));
        info.setEndDay(endTime.format(DateTimeFormatter.ofPattern("MM月dd日")) + " 周" + endTime.getDayOfWeek().getDisplayName(TextStyle.FULL, Locale.SIMPLIFIED_CHINESE));
        info.setEndHour(endTime.format(DateTimeFormatter.ofPattern("HH:mm")));
        int hour = endTime.getHour() - startTime.getHour();
        int second = endTime.getSecond() - startTime.getSecond();
        info.setDuration(0 == hour ? String.format("%s分钟", second) : String.format("%s小时%s分钟", hour, second));
        return info;
    }
}
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java
@@ -298,6 +298,7 @@
                appUserIntegralChange.setHistoricalIntegral(points);
                appUserIntegralChange.setCurrentIntegral(points + num1);
                appUserIntegralChange.setCreateTime(LocalDateTime.now());
                appUserIntegralChange.setOrderCode(orderEvaluate.getId().toString());
                appUserIntegralChangeClient.addAppUserIntegralChange(appUserIntegralChange);
            }
        }
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/EndOfChargePageInfo.java
New file
@@ -0,0 +1,40 @@
package com.ruoyi.order.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
 * @author zhibing.pu
 * @Date 2024/10/12 9:20
 */
@Data
@ApiModel
public class EndOfChargePageInfo {
    @ApiModelProperty("订单id")
    private String id;
    @ApiModelProperty("充电金额")
    private BigDecimal paymentAmount;
    @ApiModelProperty("优惠金额")
    private BigDecimal couponDiscountAmount;
    @ApiModelProperty("积分")
    private Integer integral;
    @ApiModelProperty("订单编号")
    private String code;
    @ApiModelProperty("预充金额")
    private BigDecimal rechargeAmount;
    @ApiModelProperty("退还金额")
    private BigDecimal refundAmount;
    @ApiModelProperty("开始日期")
    private String startDay;
    @ApiModelProperty("开始时间")
    private String startHour;
    @ApiModelProperty("结束日期")
    private String endDay;
    @ApiModelProperty("结束时间")
    private String endHour;
    @ApiModelProperty("充电时长")
    private String duration;
}