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();