From 3b179ff7149a13e99ed2aa8f494ed6750e4dc04c Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期六, 31 八月 2024 14:50:35 +0800 Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/PayOrderDto.java | 2 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderAppealController.java | 39 +++++++ ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderAccountingStrategyServiceImpl.java | 6 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/vo/InvoiceInformationVo.java | 62 ++++++++++++ ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderAccountingStrategyClient.java | 2 ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml | 129 ++++++++++++++----------- ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TOrderAppeal.java | 2 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java | 6 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java | 18 ++ 9 files changed, 195 insertions(+), 71 deletions(-) diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/vo/InvoiceInformationVo.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/vo/InvoiceInformationVo.java new file mode 100644 index 0000000..6a6b7c6 --- /dev/null +++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/vo/InvoiceInformationVo.java @@ -0,0 +1,62 @@ +package com.ruoyi.account.api.vo; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.ruoyi.common.core.web.domain.BasePojo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * <p> + * + * </p> + * + * @author luodangjia + * @since 2024-08-06 + */ +@Data +public class InvoiceInformationVo { + + + private String id; + + @ApiModelProperty(value = "用户id") + private Long appUserId; + + @ApiModelProperty(value = "发票类型(1=增值税普通发票,2=增值税专用发票)") + private String invoiceType; + + @ApiModelProperty(value = "发票类型id") + private Integer invoiceTypeId; + + @ApiModelProperty(value = "抬头类型(1=个人,2=企业)") + private Integer invoicingObjectType; + + @ApiModelProperty(value = "名称") + private String name; + + @ApiModelProperty(value = "纳税识别号") + private String taxIdentificationNumber; + + @ApiModelProperty(value = "公司地址") + private String companyAddress; + + @ApiModelProperty(value = "公司电话") + private String companyPhone; + + @ApiModelProperty(value = "开户银行") + private String depositBank; + + @ApiModelProperty(value = "银行账户") + private String bankAccount; + + @ApiModelProperty(value = "设置默认(0=否,1=是)") + private Integer isDefault; + + + + +} diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderAccountingStrategyClient.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderAccountingStrategyClient.java index 5d51fbc..2f98b2c 100644 --- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderAccountingStrategyClient.java +++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderAccountingStrategyClient.java @@ -36,6 +36,6 @@ * @param days * @return */ - @PostMapping("/t-charging-order-getDailyChargingDegree-strategy/getUtilizationTrend/{days}") + @PostMapping("/t-charging-order-accounting-strategy/getDailyChargingDegree/{days}") R<List<Double>> getDailyChargingDegree(@PathVariable("days") Integer days, @RequestParam("siteIds") Set<Integer> siteIds); } diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TOrderAppeal.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TOrderAppeal.java index 29320fa..344daa0 100644 --- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TOrderAppeal.java +++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TOrderAppeal.java @@ -70,6 +70,8 @@ @ApiModelProperty(value = "申诉反馈") @TableField("feedback") private String feedback; + @TableField(exist = false) + private String uid; @ApiModelProperty(value = "反馈人id") @TableField("feedback_user_id") diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java index a567303..d497796 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java @@ -40,6 +40,7 @@ import javax.annotation.Resource; import java.math.BigDecimal; +import java.math.MathContext; import java.math.RoundingMode; import java.text.SimpleDateFormat; import java.util.*; @@ -304,8 +305,13 @@ chargeMonitoring.setNotCharged(total.size() - charging.size()); chargeMonitoring.setRatedPower(ratedPower.setScale(4, RoundingMode.HALF_EVEN)); chargeMonitoring.setRealTimePower(realTimePower.setScale(4, RoundingMode.HALF_EVEN)); - chargeMonitoring.setDemandPowerSatisfactionRate(realTimePower.divide(ratedPower).multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_EVEN)); - + if(ratedPower.equals(BigDecimal.ZERO)){ + chargeMonitoring.setDemandPowerSatisfactionRate(BigDecimal.ZERO); + }else{ + chargeMonitoring.setDemandPowerSatisfactionRate(realTimePower.divide(ratedPower, new MathContext(2, RoundingMode.HALF_EVEN)) + .multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_EVEN)); + } + List<String> dates = new ArrayList<>(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MMM-dd"); Calendar calendar = Calendar.getInstance(); @@ -325,8 +331,12 @@ List<Double> data = chargingOrderAccountingStrategyClient.getDailyChargingDegree(6, siteIds).getData(); List<Double> value2 = new ArrayList<>(); for (Double datum : data) { - Double datum1 = new BigDecimal(datum).divide(new BigDecimal(list.size()).multiply(v).multiply(new BigDecimal(24))).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue(); - value2.add(datum1); + if(list.size() == 0){ + value2.add(0D); + }else{ + Double datum1 = new BigDecimal(datum).divide(new BigDecimal(list.size()).multiply(v).multiply(new BigDecimal(24))).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue(); + value2.add(datum1); + } } Map<String, Object> utilizationTrend = new HashMap<>(); utilizationTrend.put("date", dates); diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java index 9c19079..712b961 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java @@ -205,8 +205,10 @@ payOrderChargingInfo.setChargingName(data1.getName()); TChargingGun data2 = chargingGunClient.getChargingGunById(byId.getChargingGunId()).getData(); payOrderChargingInfo.setGunName(data2.getName()); - List<TAppUserCar> data3 = appUserCarClient.getCarByIds(Collections.singletonList(byId.getAppUserCarId())).getData(); - payOrderChargingInfo.setCarNum(data3.get(0).getLicensePlate()); + if (byId.getAppUserCarId()!=null) { + List<TAppUserCar> data3 = appUserCarClient.getCarByIds(Collections.singletonList(byId.getAppUserCarId())).getData(); + payOrderChargingInfo.setCarNum(data3.get(0).getLicensePlate()); + } return R.ok(); } diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderAppealController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderAppealController.java index e64f518..2a771c7 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderAppealController.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderAppealController.java @@ -9,18 +9,19 @@ import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.common.security.service.TokenService; import com.ruoyi.common.security.utils.SecurityUtils; -import com.ruoyi.order.api.model.TOrderAppeal; +import com.ruoyi.order.api.model.*; import com.ruoyi.order.api.query.TOrderAppealQuery; import com.ruoyi.order.api.vo.TOrderAppealVO; import com.ruoyi.order.dto.ManageFeedbackDto; import com.ruoyi.order.dto.ManageOrderAppealQuery; -import com.ruoyi.order.service.TOrderAppealService; +import com.ruoyi.order.service.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.util.Arrays; /** * <p> @@ -38,6 +39,16 @@ private final TokenService tokenService; @Resource private AppUserClient appUserClient; + @Resource + private TChargingOrderService chargingOrderService; + @Resource + private TShoppingOrderService shoppingOrderService; + @Resource + private TExchangeOrderService exchangeOrderService; + + @Resource + private TVipOrderService vipOrderService; + @Autowired public TOrderAppealController(TOrderAppealService orderAppealService, TokenService tokenService) { @@ -53,9 +64,19 @@ .like(manageOrderAppealQuery.getPhone() != null, TOrderAppeal::getPhone, manageOrderAppealQuery.getPhone()) .eq(manageOrderAppealQuery.getOrderType() != null, TOrderAppeal::getOrderType, manageOrderAppealQuery.getOrderType()) .in(TOrderAppeal::getOrderType, 1, 2).page(Page.of(manageOrderAppealQuery.getPageCurr(), manageOrderAppealQuery.getPageSize())); + + for (TOrderAppeal record : page.getRecords()) { + record.setUid(record.getId().toString()); + } return R.ok(page); + } + @ApiOperation(tags = {"后台-订单管理-订单申诉"},value = "删除") + @DeleteMapping (value = "/manage/delete") + public R<Page<TOrderAppeal>> delete(String ids) { + orderAppealService.removeBatchByIds(Arrays.asList(ids.split(","))); + return R.ok(); } @ApiOperation(tags = {"后台-订单管理-订单申诉"},value = "后台-订单管理-订单申诉") @@ -98,6 +119,20 @@ orderAppeal.setAppUserId(appUserId); orderAppeal.setStatus(1); orderAppeal.setPhone(data.getPhone()); + + if (orderAppeal.getOrderType()==1){ + TChargingOrder byId = chargingOrderService.getById(orderAppeal.getOrderId()); + orderAppeal.setCode(byId.getCode()); + }else if(orderAppeal.getOrderType()==2){ + TShoppingOrder byId = shoppingOrderService.getById(orderAppeal.getOrderId()); + orderAppeal.setCode(byId.getCode()); + }else if(orderAppeal.getOrderType()==3){ + TExchangeOrder byId = exchangeOrderService.getById(orderAppeal.getOrderId()); + orderAppeal.setCode(byId.getCode()); + }else if(orderAppeal.getOrderType()==4){ + TVipOrder byId = vipOrderService.getById(orderAppeal.getOrderId()); + orderAppeal.setCode(byId.getCode()); + } orderAppealService.save(orderAppeal); return AjaxResult.success(); } diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/PayOrderDto.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/PayOrderDto.java index db5a856..762d550 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/PayOrderDto.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/PayOrderDto.java @@ -31,5 +31,7 @@ private LocalDateTime endTime; @ApiModelProperty("支付时间") private LocalDateTime payTime; + private Integer refundStatus; + private Double finalAmount; } diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderAccountingStrategyServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderAccountingStrategyServiceImpl.java index 413fa9b..f242070 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderAccountingStrategyServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderAccountingStrategyServiceImpl.java @@ -71,21 +71,21 @@ map2.put("name", "峰"); BigDecimal value2 = list1.stream().filter(s -> orderIds.contains(s.getChargingOrderId()) && s.getType() == 2) .map(TChargingOrderAccountingStrategy::getChargingCapacity).reduce(BigDecimal.ZERO, BigDecimal::add); - map1.put("value", value2.setScale(2, RoundingMode.HALF_EVEN)); + map2.put("value", value2.setScale(2, RoundingMode.HALF_EVEN)); datas.add(map2); Map<String, Object> map3 = new HashMap<>(); map3.put("name", "平"); BigDecimal value3 = list1.stream().filter(s -> orderIds.contains(s.getChargingOrderId()) && s.getType() == 3) .map(TChargingOrderAccountingStrategy::getChargingCapacity).reduce(BigDecimal.ZERO, BigDecimal::add); - map1.put("value", value3.setScale(2, RoundingMode.HALF_EVEN)); + map3.put("value", value3.setScale(2, RoundingMode.HALF_EVEN)); datas.add(map3); Map<String, Object> map4 = new HashMap<>(); map4.put("name", "谷"); BigDecimal value4 = list1.stream().filter(s -> orderIds.contains(s.getChargingOrderId()) && s.getType() == 4) .map(TChargingOrderAccountingStrategy::getChargingCapacity).reduce(BigDecimal.ZERO, BigDecimal::add); - map1.put("value", value4.setScale(2, RoundingMode.HALF_EVEN)); + map4.put("value", value4.setScale(2, RoundingMode.HALF_EVEN)); datas.add(map4); list2.add(datas); } diff --git a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml index ab35e85..3314d60 100644 --- a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml +++ b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml @@ -104,62 +104,75 @@ </select> <select id="payOrderQuery" resultType="com.ruoyi.order.dto.PayOrderDto"> SELECT * FROM (SELECT - id, - `code`, - 1 as type, - title, - phone, - `status`, - order_amount, - payment_amount , - create_time, - end_time, - pay_time - FROM - charging_pile_order.t_charging_order UNION ALL - SELECT - id, - `code`, - 2 as type, - title, - phone, - `status`, - order_amount, - payment_amount , - create_time, - receiving_time as end_time, - pay_time - FROM - charging_pile_order.t_shopping_order UNION ALL - SELECT - id, - `code`, - 3 as type, - title, - phone, - payment_status AS `status`, - order_amount, - payment_amount , - create_time, - create_time as end_time, - pay_time - FROM - charging_pile_order.t_vip_order UNION ALL - SELECT - id, - `code`, - 4 as type, - title, - phone, - `status`, - order_amount , - order_amount as payment_amount, - create_time, - out_parking_time as end_time, - out_parking_time as pay_time - FROM - charging_pile_service.t_parking_record ) o + id, + `code`, + 1 as type, + title, + phone, + `status`, + order_amount, + payment_amount , + create_time, + end_time, + pay_time, + refund_status, + (payment_amount-refund_amount) as final_amount, + del_flag + FROM + charging_pile_order.t_charging_order UNION ALL + SELECT + id, + `code`, + 2 as type, + title, + phone, + `status`, + order_amount, + payment_amount , + create_time, + receiving_time as end_time, + pay_time, + refund_status, + (payment_amount-refund_amount) as final_amount, + del_flag + FROM + charging_pile_order.t_shopping_order UNION ALL + SELECT + id, + `code`, + 3 as type, + title, + phone, + payment_status AS `status`, + order_amount, + payment_amount , + create_time, + create_time as end_time, + pay_time, + refund_status, + (payment_amount-refund_amount) as final_amount, + del_flag + FROM + charging_pile_order.t_vip_order UNION ALL + SELECT + id, + `code`, + 4 as type, + title, + phone, + `status`, + order_amount , + order_amount as payment_amount, + create_time, + out_parking_time as end_time, + out_parking_time as pay_time, + null as refund_status, + 0 as final_amount, + 0 as del_flag + FROM + charging_pile_service.t_parking_record ) o <where> + o.del_flag = 0 <if test="data.code != null and data.code != ''"> AND o.code LIKE CONCAT('%',#{data.code},'%') </if> @@ -169,9 +182,7 @@ <if test="data.type != null"> AND o.type = #{data.type} </if> - <if test="data.status != null"> - AND o.status = #{data.status} - </if> + <if test="data.createTime1 != null"> AND o.create_time >= #{data.createTime1} </if> @@ -179,7 +190,7 @@ AND o.create_time <= #{data.createTime2} </if> </where> - + ORDER BY o.create_time desc </select> <select id="getRefundList" resultType="com.ruoyi.order.api.model.TChargingOrderRefund"> -- Gitblit v1.7.1