无关风月
2024-08-24 e0629c6e4d261c24ae4c4f135ec0565740da7a64
代码提交
5个文件已修改
1个文件已添加
151 ■■■■■ 已修改文件
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingOrderVO.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TCharingOrderVO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/dto/SaveHtml.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TIntegralRuleController.java 53 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingOrderVO.java
@@ -20,7 +20,7 @@
    @ApiModelProperty(value = "充电终端名称 桩+枪")
    private String terminalName;
    @ApiModelProperty(value = "充电时间 秒")
    private Integer chargingSecond;
    private Long chargingSecond;
    @ApiModelProperty(value = "平台手续费")
    private BigDecimal platFormMoney;
    @ApiModelProperty(value = "三方平台分佣")
@@ -29,8 +29,7 @@
    private String licensePlate;
    @ApiModelProperty(value = "手机号")
    private String phone;
    @ApiModelProperty(value = "累计充电量")
    private BigDecimal chargingCapacity;
    @ApiModelProperty(value = "累计电费")
    private BigDecimal electrovalence;
    @ApiModelProperty(value = "累计服务费")
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TCharingOrderVO.java
@@ -15,7 +15,7 @@
    @ApiModelProperty(value = "总充电量")
    private BigDecimal total;
    @ApiModelProperty(value = "充电时长")
    private BigDecimal time;
    private Long time;
    @ApiModelProperty(value = "收入")
    private BigDecimal income;
    @ApiModelProperty(value = "电费")
ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/dto/SaveHtml.java
New file
@@ -0,0 +1,18 @@
package com.ruoyi.other.api.dto;
import com.ruoyi.common.core.web.page.BasePage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel("广告列表查询DTO")
public class SaveHtml extends BasePage {
    @ApiModelProperty(value = "数据类型(1=积分规则说明,2=会员折扣说明,3=优惠券说明,4=双倍积分说明,5=商城专享价说明,6=会员协议,7=用户协议,8=隐私协议,9=邀请好友说明,10=资质证明,11=开票说明)")
    private Integer type;
    @ApiModelProperty(value = "标题")
    private String info;
}
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
@@ -68,9 +68,6 @@
    @Autowired
    private AppUserClient appUserClient;
    
    @ResponseBody
    @PostMapping(value = "/chargingOrder")
    @ApiOperation(value = "充电桩订单列表", tags = {"管理后台-订单管理"})
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -3,6 +3,7 @@
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.account.api.feignClient.AppUserCarClient;
import com.ruoyi.account.api.feignClient.AppUserClient;
@@ -38,6 +39,7 @@
import com.ruoyi.payment.api.vo.NotifyV3PayDecodeRespBody;
import com.ruoyi.payment.api.vo.PaymentOrder;
import io.seata.spring.annotation.GlobalTransactional;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
@@ -45,8 +47,10 @@
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
import java.util.*;
import java.util.stream.Collectors;
@@ -90,10 +94,7 @@
    
    @Resource
    private RedisService redisService;
    /**
     * 获取小程序充电记录列表数据
     * @param query
@@ -401,6 +402,8 @@
    @Override
    public TCharingOrderVO chargingOrder(ChargingOrderQuery dto) {
        TCharingOrderVO tCharingOrderVO = new TCharingOrderVO();
        String startTime1 = null;
        String startTime2 = null;
        String endTime1 = null;
@@ -425,7 +428,64 @@
        }
        PageInfo<ChargingOrderVO> pageInfo = new PageInfo<>(dto.getPageCurr(),dto.getPageSize());
        List<ChargingOrderVO> list = this.baseMapper.chargingOrder(pageInfo,dto,startTime1,startTime2,endTime1,endTime2);
         BigDecimal total = new BigDecimal("0");
         long time = 0L;
         BigDecimal income = new BigDecimal("0");
         BigDecimal electronicMoney = new BigDecimal("0");
         BigDecimal serviceMoney = new BigDecimal("0");
        for (ChargingOrderVO chargingOrderVO : list) {
            total = total.add(chargingOrderVO.getChargingCapacity());
            // 充电订单 明细记录
            List<TChargingOrderAccountingStrategy> chargingOrderId = chargingOrderAccountingStrategyService.list(new QueryWrapper<TChargingOrderAccountingStrategy>()
                    .eq("charging_order_id", chargingOrderVO.getId()));
            // 单个订单累计电费
            BigDecimal electronicMoney1 = new BigDecimal("0");
            // 单个订单累计服务费
            BigDecimal serviceMoney1 = new BigDecimal("0");
            LocalDateTime startTime = chargingOrderVO.getStartTime();
            LocalDateTime endTime = chargingOrderVO.getEndTime();
            // 计算时间差 秒 充电时长
            long between = ChronoUnit.SECONDS.between(startTime, endTime);
            chargingOrderVO.setChargingSecond(between);
            time += between;
            // 总收入
            if (chargingOrderVO.getRefundStatus() == 2){
                income = income.add(chargingOrderVO.getPaymentAmount().subtract(chargingOrderVO.getRefundAmount()));
            }else{
                income = income.add(chargingOrderVO.getPaymentAmount());
            }
            for (TChargingOrderAccountingStrategy tChargingOrderAccountingStrategy : chargingOrderId) {
                // 累计电费
                electronicMoney1 = electronicMoney1.add(tChargingOrderAccountingStrategy.getElectrovalence()
                        .multiply(tChargingOrderAccountingStrategy.getChargingCapacity()));
                electronicMoney = electronicMoney.add(electronicMoney1);
                // 累计服务费
                serviceMoney1 = serviceMoney1.add(tChargingOrderAccountingStrategy.getServiceCharge());
                serviceMoney = serviceMoney.add(serviceMoney1);
            }
            chargingOrderVO.setServiceCharge(serviceMoney1);
            chargingOrderVO.setElectrovalence(electronicMoney1);
            // 充电时段数
            int size = chargingOrderId.size();
            chargingOrderVO.setCount(size);
            // 用户手机号
            TAppUser data = appUserClient.getUserById(chargingOrderVO.getAppUserId()).getData();
            if (data!=null){
                // 车牌号
                chargingOrderVO.setPhone(data.getPhone());
                List<Long> longs = new ArrayList<>();
                longs.add(chargingOrderVO.getAppUserCarId());
                List<TAppUserCar> data1 = appUserCarClient.getCarByIds(longs).getData();
                if (!data1.isEmpty()){
                    chargingOrderVO.setLicensePlate(data1.get(0).getLicensePlate());
                }
            }
        }
        tCharingOrderVO.setTotal(total);
        tCharingOrderVO.setTime(time);
        tCharingOrderVO.setIncome(income);
        tCharingOrderVO.setElectronicMoney(electronicMoney);
        tCharingOrderVO.setServiceMoney(serviceMoney);
        pageInfo.setRecords(list);
        tCharingOrderVO.setList(pageInfo);
        return tCharingOrderVO;
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TIntegralRuleController.java
@@ -8,6 +8,7 @@
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.other.api.domain.THtml;
import com.ruoyi.other.api.domain.TIntegralRule;
import com.ruoyi.other.api.dto.SaveHtml;
import com.ruoyi.other.service.THtmlService;
import com.ruoyi.other.service.TIntegralRuleService;
import io.swagger.annotations.ApiImplicitParam;
@@ -41,34 +42,9 @@
        return R.ok(res);
    }
    
    @PostMapping("/saveSet")
    @ApiOperation(tags = {"管理后台-积分管理"},value = "保存积分设置")
    public R saveSet(@RequestBody TIntegralRule dto) {
//        JSONObject jsonObject = JSONObject.parseObject(dto);
//        String chargeCredit = jsonObject.getString("chargeCredit");
//        String credit = jsonObject.getString("credit");
//        String inviteUsersToEarnPoints = jsonObject.getString("inviteUsersToEarnPoints");
//        String addVehiclesEarnsPoints = jsonObject.getString("addVehiclesEarnsPoints");
//        String signInForPoints = jsonObject.getString("signInForPoints");
//        TIntegralRule tIntegralRule = new TIntegralRule();
//        tIntegralRule.setAddVehiclesEarnsPoints(signInForPoints);
//        tIntegralRule.setChargeCredit(chargeCredit);
//        tIntegralRule.setCredit(credit);
//        tIntegralRule.setSignInForPoints(addVehiclesEarnsPoints);
//        tIntegralRule.setInviteUsersToEarnPoints(inviteUsersToEarnPoints);
//        TIntegralRule one = integralRuleService.getOne(null);
//        if (one!=null){
//            one.setAddVehiclesEarnsPoints(signInForPoints);
//            one.setChargeCredit(chargeCredit);
//            one.setCredit(credit);
//            one.setSignInForPoints(addVehiclesEarnsPoints);
//            one.setInviteUsersToEarnPoints(inviteUsersToEarnPoints);
//            integralRuleService.updateById(one);
//        }else{
//            integralRuleService.save(tIntegralRule);
//        }
        TIntegralRule one = integralRuleService.getOne(null);
        if (one!=null){
            dto.setId(one.getId());
@@ -100,32 +76,17 @@
    @GetMapping("/saveInfo")
    @PostMapping("/saveInfo")
    @ApiOperation(tags = {"管理后台-积分管理"},value = "保存积分说明")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "info", value = "内容", required = true),
            @ApiImplicitParam(name = "type", value = "type 1=积分规则说明,\" +\n" +
                    "            \"2=会员折扣说明,\" +\n" +
                    "            \"3=优惠券说明,\" +\n" +
                    "            \"4=双倍积分说明,\" +\n" +
                    "            \"5=商城专享价说明,\" +\n" +
                    "            \"6=会员协议,\" +\n" +
                    "            \"7=用户协议,\" +\n" +
                    "            \"8=隐私协议,\" +\n" +
                    "            \"9=邀请好友说明,\" +\n" +
                    "            \"10=资质证明,\" +\n" +
                    "            \"11=开票说明\"", required = true),
    })
    public R saveInfo(String info,Integer type) {
        THtml g = htmlService.getOne(new QueryWrapper<THtml>().eq("type",type));
    public R saveInfo(@RequestBody SaveHtml dto) {
        THtml g = htmlService.getOne(new QueryWrapper<THtml>().eq("type",dto.getType()));
        if (g == null){
            THtml tHtml = new THtml();
            tHtml.setType(type);
            tHtml.setContent(info);
            tHtml.setType(dto.getType());
            tHtml.setContent(dto.getInfo());
            htmlService.save(tHtml);
        }else{
            g.setContent(info);
            g.setContent(dto.getInfo());
            htmlService.updateById(g);
        }
        return R.ok();