From ee2bf95f3472a4179ee0fc7c8e4e2a35e1214bc8 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期三, 23 十月 2024 10:15:08 +0800 Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile --- ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/AppUserInfoDto.java | 2 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java | 242 +++-------------- ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/InfoCouponDto.java | 4 ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TRepair.java | 2 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TVipOrderRefund.java | 3 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java | 6 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserIntegralChange.java | 4 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppCoupon.java | 6 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/query/TChargingCountQuery.java | 3 ruoyi-service/ruoyi-integration/src/test/java/com/ruoyi/integration/RuoYiIntegrationApplicationTests.java | 15 + ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/SysLoginLog.java | 4 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TVipController.java | 6 ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TParkingRecord.java | 4 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingGunServiceImpl.java | 7 ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TChargingPileMapper.xml | 2 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java | 4 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/controller/UploadRealTimeMonitoringDataController.java | 4 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TShoppingOrderRefund.java | 4 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserSign.java | 1 ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml | 8 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderEvaluateController.java | 2 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/PayOrderDto.java | 4 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java | 44 +- ruoyi-service/ruoyi-order/src/main/resources/bootstrap.yml | 3 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TActivityStatisticslVO.java | 2 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/UploadRealTimeMonitoringDataServiceImpl.java | 3 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUser.java | 3 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/GenTable.java | 3 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TInviteUser.java | 2 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/CouponListDto.java | 1 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserIntegralChangeClient.java | 2 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java | 11 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/SysDictType.java | 3 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderAccountingStrategyServiceImpl.java | 7 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/model/TAppUserLoginInfo.java | 3 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/SysDictData.java | 3 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserTag.java | 2 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderAppealController.java | 5 ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/Site.java | 2 ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/RuoYiOrderApplicationTests.java | 156 ++++++++++ ruoyi-service/ruoyi-chargingPile/src/main/resources/bootstrap.yml | 2 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserCarFallbackFactory.java | 5 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TGoodsController.java | 28 + ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/web/domain/BasePojo.java | 2 ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TChargingGunMapper.xml | 14 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java | 9 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java | 45 ++- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/ChargingStatisticsQueryDto.java | 5 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WxLoginController.java | 4 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/TAppUserDto.java | 3 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/SysNotice.java | 2 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/vo/CouponListVOVO.java | 2 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TInviteUserController.java | 2 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/query/SysOperLogQuery.java | 2 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/task/TaskUtil.java | 14 ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TSiteMenu.java | 3 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java | 10 ruoyi-service/ruoyi-integration/src/main/resources/bootstrap.yml | 1 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/GenTableColumn.java | 3 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TChargingOrderAccountingStrategy.java | 2 ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TShoppingOrderMapper.xml | 18 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TChargingOrderRefund.java | 6 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/PayOrderQueryDto.java | 4 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TGoodsServiceImpl.java | 8 64 files changed, 466 insertions(+), 320 deletions(-) diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/AppUserInfoDto.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/AppUserInfoDto.java index f875a8c..72db785 100644 --- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/AppUserInfoDto.java +++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/AppUserInfoDto.java @@ -17,7 +17,7 @@ @ApiModelProperty("最低会员价格") private BigDecimal minPrice; @ApiModelProperty("vip结束时间") - @JsonFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime vipExpireTime; @ApiModelProperty("当天是否签到") private Integer isSign; diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/CouponListDto.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/CouponListDto.java index f97603a..636b090 100644 --- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/CouponListDto.java +++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/CouponListDto.java @@ -7,7 +7,6 @@ import lombok.Data; import java.math.BigDecimal; -import java.time.LocalDateTime; @Data @ApiModel("小程序扫一扫获取优惠券列表DTO") diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/InfoCouponDto.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/InfoCouponDto.java index bfc5838..dc44a1d 100644 --- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/InfoCouponDto.java +++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/InfoCouponDto.java @@ -37,11 +37,11 @@ private BigDecimal discount; @ApiModelProperty(value = "结束时间") @TableField("end_time") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime endTime; @ApiModelProperty(value = "开始时间") @TableField("start_time") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime startTime; @ApiModelProperty(value = "最高优惠金额") @TableField("maximum_discount_amount") diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/TAppUserDto.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/TAppUserDto.java index a16200e..a1c84d9 100644 --- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/TAppUserDto.java +++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/TAppUserDto.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.common.core.web.domain.BasePojo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -49,6 +50,7 @@ @ApiModelProperty(value = "会员到期时间") @TableField("vip_end_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime vipEndTime; @ApiModelProperty(value = "单位id") @@ -99,6 +101,7 @@ @ApiModelProperty(value = "最后一次登录时间") @TableField("last_login_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime lastLoginTime; diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserCarFallbackFactory.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserCarFallbackFactory.java index 2a15a88..41202e3 100644 --- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserCarFallbackFactory.java +++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserCarFallbackFactory.java @@ -36,6 +36,11 @@ public R<TAppUserCar> getAppUserCarByLicensePlate(String licensePlate) { return R.fail("根据车牌号查询数据失败:" + throwable.getMessage()); } + + @Override + public R<List<Long>> getAppUserCarByLicensePlates(String licensePlate) { + return null; + } }; } } diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserIntegralChangeClient.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserIntegralChangeClient.java index 549263d..67cd9b6 100644 --- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserIntegralChangeClient.java +++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserIntegralChangeClient.java @@ -30,6 +30,6 @@ * @param code * @return */ - @PostMapping("/t-app-user-integral-change/addAppUserIntegralChange") + @PostMapping("/t-app-user-integral-change/getTAppUserIntegralChangeByOrderCode") R<TAppUserIntegralChange> getTAppUserIntegralChangeByOrderCode(@RequestParam("code") String code); } diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppCoupon.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppCoupon.java index 519c74a..d51745e 100644 --- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppCoupon.java +++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppCoupon.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.common.core.web.domain.BasePojo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -33,6 +34,8 @@ @ApiModelProperty(value = "主键") @TableId("id") private Long id; + @TableField(exist = false) + private String uid; @ApiModelProperty(value = "用户id") @TableField("app_user_id") @@ -44,9 +47,11 @@ @ApiModelProperty(value = "结束时间") @TableField("end_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime endTime; @ApiModelProperty(value = "开始时间") @TableField("start_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime startTime; @ApiModelProperty(value = "获得方式(1=积分兑换,2=现金购买)") @@ -71,6 +76,7 @@ @ApiModelProperty(value = "支付完成时间") @TableField("payment_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime paymentTime; @ApiModelProperty(value = "状态(1=未使用,2=已使用)") diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUser.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUser.java index 90375e1..6c1c5f1 100644 --- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUser.java +++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUser.java @@ -56,7 +56,7 @@ @ApiModelProperty(value = "会员到期时间") @TableField("vip_end_time") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime vipEndTime; @ApiModelProperty(value = "单位id") @@ -115,6 +115,7 @@ @ApiModelProperty(value = "最后一次登录时间") @TableField("last_login_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime lastLoginTime; @ApiModelProperty(value = "邀请人id") @TableField("invite_user_id") diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserIntegralChange.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserIntegralChange.java index 3375419..4cd95b1 100644 --- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserIntegralChange.java +++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserIntegralChange.java @@ -60,10 +60,10 @@ @ApiModelProperty(value = "添加时间") @TableField("create_time") - @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime createTime; @TableField(exist = false) - @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime dateTime; @ApiModelProperty(value = "扩展字段") diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserSign.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserSign.java index fddfeb5..9f40e3a 100644 --- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserSign.java +++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserSign.java @@ -52,6 +52,7 @@ @ApiModelProperty(value = "添加时间") @TableField("create_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime createTime; diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserTag.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserTag.java index daa3daa..1a9e9a4 100644 --- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserTag.java +++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserTag.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.common.core.web.domain.BasePojo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -42,6 +43,7 @@ @ApiModelProperty(value = "添加时间") @TableField("create_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime createTime; diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TInviteUser.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TInviteUser.java index 5e0fe6c..710d212 100644 --- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TInviteUser.java +++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TInviteUser.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.common.core.web.domain.BasePojo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -47,6 +48,7 @@ @ApiModelProperty(value = "添加时间") @TableField("create_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime createTime; diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/Site.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/Site.java index 2e131e2..0c380e4 100644 --- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/Site.java +++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/Site.java @@ -204,7 +204,7 @@ */ @TableField("establishment_time") @ApiModelProperty(value = "建站时间", notes = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime establishmentTime; /** * 排序 diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TParkingRecord.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TParkingRecord.java index cead23c..b6cd84b 100644 --- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TParkingRecord.java +++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TParkingRecord.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -64,10 +65,12 @@ @ApiModelProperty(value = "入场时间") @TableField("in_parking_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime inParkingTime; @ApiModelProperty(value = "出场时间") @TableField("out_parking_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime outParkingTime; @ApiModelProperty(value = "停车时长(分钟)") @@ -88,6 +91,7 @@ @ApiModelProperty(value = "添加时间") @TableField("create_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime createTime; @ApiModelProperty(value = "超时占位费") diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TRepair.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TRepair.java index 3351f9c..7038166 100644 --- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TRepair.java +++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TRepair.java @@ -1,6 +1,7 @@ package com.ruoyi.chargingPile.api.model; import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.common.core.web.domain.BasePojo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -56,6 +57,7 @@ @ApiModelProperty(value = "报修时间") @TableField("repair_time") @DateTimeFormat(pattern = "yyyy-MM-ddTHH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime repairTime; diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TSiteMenu.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TSiteMenu.java index 0fbeaf2..d5d09e7 100644 --- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TSiteMenu.java +++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TSiteMenu.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -90,6 +91,7 @@ @ApiModelProperty(value = "创建时间") @TableField("create_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime createTime; @ApiModelProperty(value = "更新者") @@ -98,6 +100,7 @@ @ApiModelProperty(value = "更新时间") @TableField("update_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime updateTime; @ApiModelProperty(value = "备注") diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TChargingOrderAccountingStrategy.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TChargingOrderAccountingStrategy.java index 2318e75..b949598 100644 --- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TChargingOrderAccountingStrategy.java +++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TChargingOrderAccountingStrategy.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -83,6 +84,7 @@ @ApiModelProperty(value = "首次添加时间") @TableField("create_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime createTime; @ApiModelProperty(value = "会员抵扣") diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TChargingOrderRefund.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TChargingOrderRefund.java index 4f762b6..a2c7b2b 100644 --- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TChargingOrderRefund.java +++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TChargingOrderRefund.java @@ -58,7 +58,7 @@ @ApiModelProperty(value = "退款成功时间") @TableField("refund_time") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime refundTime; @ApiModelProperty(value = "订单编号") @@ -99,11 +99,13 @@ private BigDecimal paymentAmount; @ApiModelProperty(value = "支付时间") @TableField(exist = false) - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime payTime; @ApiModelProperty(value = "订单id") @TableField(exist = false) private String orderId; @TableField(exist = false) private String userId; + @TableField(exist = false) + private String uid; } diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TShoppingOrderRefund.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TShoppingOrderRefund.java index 708996e..87b2e91 100644 --- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TShoppingOrderRefund.java +++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TShoppingOrderRefund.java @@ -5,6 +5,8 @@ import java.time.LocalDateTime; import com.baomidou.mybatisplus.annotation.TableField; import java.io.Serializable; + +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -32,6 +34,7 @@ @ApiModelProperty(value = "支付时间") @TableField("pay_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime payTime; @ApiModelProperty(value = "支付流水号") @@ -67,6 +70,7 @@ @ApiModelProperty(value = "退款成功时间") @TableField("refund_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime refundTime; @ApiModelProperty(value = "订单编号") diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TVipOrderRefund.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TVipOrderRefund.java index e772fc9..f7feb6c 100644 --- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TVipOrderRefund.java +++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TVipOrderRefund.java @@ -5,6 +5,8 @@ import java.time.LocalDateTime; import com.baomidou.mybatisplus.annotation.TableField; import java.io.Serializable; + +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -61,6 +63,7 @@ @ApiModelProperty(value = "退款成功时间") @TableField("refund_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime refundTime; @ApiModelProperty(value = "订单编号") diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/query/TChargingCountQuery.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/query/TChargingCountQuery.java index d42d8fa..fdf8b0e 100644 --- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/query/TChargingCountQuery.java +++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/query/TChargingCountQuery.java @@ -1,5 +1,6 @@ package com.ruoyi.order.api.query; +import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.common.core.web.page.BasePage; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -12,8 +13,10 @@ @ApiModel(value = "查询用户在会员期 有多少次享用了充电折扣订单") public class TChargingCountQuery { @ApiModelProperty(value = "会员开始时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime startTime; @ApiModelProperty(value = "会员结束时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime endTime; @ApiModelProperty(value = "用户id") private Long userId; diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TActivityStatisticslVO.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TActivityStatisticslVO.java index 5d6df4a..b443083 100644 --- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TActivityStatisticslVO.java +++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TActivityStatisticslVO.java @@ -35,7 +35,7 @@ @ApiModelProperty(value = "实付") private BigDecimal paymentAmount; @ApiModelProperty(value = "消费时间") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime time; @ApiModelProperty(value = "总计优惠") private BigDecimal total; diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/GenTable.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/GenTable.java index ffedfad..dd60fd3 100644 --- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/GenTable.java +++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/GenTable.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.common.core.web.domain.BasePojo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -95,6 +96,7 @@ @ApiModelProperty(value = "创建时间") @TableField("create_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime createTime; @ApiModelProperty(value = "更新者") @@ -103,6 +105,7 @@ @ApiModelProperty(value = "更新时间") @TableField("update_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime updateTime; @ApiModelProperty(value = "备注") diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/GenTableColumn.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/GenTableColumn.java index 95f667a..753d75e 100644 --- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/GenTableColumn.java +++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/GenTableColumn.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.common.core.web.domain.BasePojo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -107,6 +108,7 @@ @ApiModelProperty(value = "创建时间") @TableField("create_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime createTime; @ApiModelProperty(value = "更新者") @@ -115,6 +117,7 @@ @ApiModelProperty(value = "更新时间") @TableField("update_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime updateTime; diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/SysDictData.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/SysDictData.java index b5d61f3..9842ed4 100644 --- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/SysDictData.java +++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/SysDictData.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.common.core.web.domain.BasePojo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -71,6 +72,7 @@ @ApiModelProperty(value = "创建时间") @TableField("create_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime createTime; @ApiModelProperty(value = "更新者") @@ -79,6 +81,7 @@ @ApiModelProperty(value = "更新时间") @TableField("update_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime updateTime; @ApiModelProperty(value = "备注") diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/SysDictType.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/SysDictType.java index 7bf5dfd..e87b6a5 100644 --- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/SysDictType.java +++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/SysDictType.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.common.core.web.domain.BasePojo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -51,6 +52,7 @@ @ApiModelProperty(value = "创建时间") @TableField("create_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime createTime; @ApiModelProperty(value = "更新者") @@ -59,6 +61,7 @@ @ApiModelProperty(value = "更新时间") @TableField("update_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime updateTime; @ApiModelProperty(value = "备注") diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/SysNotice.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/SysNotice.java index 9d6de53..43c5723 100644 --- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/SysNotice.java +++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/SysNotice.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.common.core.web.domain.BasePojo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -56,6 +57,7 @@ @ApiModelProperty(value = "创建时间") @TableField("create_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime createTime; @ApiModelProperty(value = "更新者") diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/vo/CouponListVOVO.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/vo/CouponListVOVO.java index d6cc19a..93a3e18 100644 --- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/vo/CouponListVOVO.java +++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/vo/CouponListVOVO.java @@ -1,5 +1,6 @@ package com.ruoyi.other.api.vo; +import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.common.core.web.domain.BasePojo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -28,6 +29,7 @@ @ApiModelProperty(value = "有效期") private String validityTime; @ApiModelProperty(value = "结束时间 前端忽略") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime endTime; @ApiModelProperty(value = "是否可用") private Integer isUse; diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/SysLoginLog.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/SysLoginLog.java index 326c448..f1f8c8e 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/SysLoginLog.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/SysLoginLog.java @@ -66,8 +66,7 @@ */ @TableField("login_time") @ApiModelProperty(value = "登录时间") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime loginTime; /** * 登录状态(1=成功,2=失败) @@ -83,6 +82,7 @@ * 添加时间 */ @TableField("create_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime createTime; /** * 删除状态(0=否,1=是) diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/model/TAppUserLoginInfo.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/model/TAppUserLoginInfo.java index dad1f6e..8605edd 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/model/TAppUserLoginInfo.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/model/TAppUserLoginInfo.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.common.core.web.domain.BasePojo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -38,6 +39,7 @@ private Integer vipId; @ApiModelProperty(value = "会员到期时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime vipEndTime; @ApiModelProperty(value = "单位id") @@ -74,6 +76,7 @@ private Integer status; @ApiModelProperty(value = "最后一次登录时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime lastLoginTime; } diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/web/domain/BasePojo.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/web/domain/BasePojo.java index 05ababf..09941a0 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/web/domain/BasePojo.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/web/domain/BasePojo.java @@ -21,7 +21,7 @@ /** 创建时间 */ @ApiModelProperty(value = "记录创建时间,前端忽略") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @TableField(value = "create_time", fill = FieldFill.INSERT) private LocalDateTime createTime; diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/query/SysOperLogQuery.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/query/SysOperLogQuery.java index 0dbb38e..57ee24f 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/query/SysOperLogQuery.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/query/SysOperLogQuery.java @@ -20,9 +20,11 @@ private Integer status; @ApiModelProperty(value = "操作开始时间", notes = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime startTime; @ApiModelProperty(value = "操作结束时间", notes = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime endTime; } diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java index 679aa59..f035710 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java @@ -529,9 +529,11 @@ @GetMapping(value = "/user/points/detail") public R<TAppUserIntegralChange> pointsDetail(String id) { TAppUserIntegralChange byId = integralChangeService.getById(id); - TExchangeOrder data = exchangeOrderClient.orderDetail(Long.valueOf(byId.getExtension())).getData(); - if (data!=null) { - byId.setGoodType(data.getOrderType()); + if (byId.getChangeType()==6) { + TExchangeOrder data = exchangeOrderClient.orderDetail(Long.valueOf(byId.getExtension())).getData(); + if (data != null) { + byId.setGoodType(data.getOrderType()); + } } return R.ok(byId); } @@ -693,6 +695,7 @@ @GetMapping(value = "/user/coupon/getById") public R<TAppCoupon> couponGetById(@RequestParam("id")Long id) { TAppCoupon appCoupon = appCouponService.getById(id); + appCoupon.setUid(id.toString()); return R.ok(appCoupon); } diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TInviteUserController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TInviteUserController.java index cb1aa05..7ef107f 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TInviteUserController.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TInviteUserController.java @@ -38,7 +38,7 @@ */ @PostMapping("/getInviteUser") public R<TInviteUser> getInviteUser(@RequestBody GetInviteUser query){ - TInviteUser one = inviteUserService.getOne(new LambdaQueryWrapper<TInviteUser>().eq(TInviteUser::getAppUserId, query.getBeInvitedAppUserId()) + TInviteUser one = inviteUserService.getOne(new LambdaQueryWrapper<TInviteUser>().eq(TInviteUser::getAppUserId, query.getAppUserId()) .eq(TInviteUser::getBeInvitedAppUserId, query.getBeInvitedAppUserId())); return R.ok(one); } diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WxLoginController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WxLoginController.java index 4a70696..a3d64ac 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WxLoginController.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WxLoginController.java @@ -71,8 +71,8 @@ /** * 上传文件存储在本地的根路径 */ - @Value("${file.upload.location}") - private String localFilePath; +// @Value("${file.upload.location}") +// private String localFilePath; diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java index 06fad07..0f2598b 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java @@ -295,11 +295,12 @@ @ApiOperation(value = "停车订单统计", tags = {"管理后台-工作台"}) public R<TParkLotRecordCountVo> work(@RequestBody ParkingRecordQueryDto parkingRecordQueryDto){ List<TParkingRecord> list = parkingRecordService.lambdaQuery().eq(parkingRecordQueryDto.getParkingLotId() != null, TParkingRecord::getParkingLotId, parkingRecordQueryDto.getParkingLotId()) - .between(TParkingRecord::getCreateTime, parkingRecordQueryDto.getStartTime(), parkingRecordQueryDto.getEndTime()).list(); + .ge(parkingRecordQueryDto.getStartTime()!=null,TParkingRecord::getCreateTime, parkingRecordQueryDto.getStartTime()) + .le(parkingRecordQueryDto.getEndTime()!=null,TParkingRecord::getCreateTime, parkingRecordQueryDto.getEndTime().plusDays(1)).list(); int count1 = list.size(); //统计出list中chargingOrderId为null的数据个数 - int count2 = list.stream().filter(item -> item.getChargingOrderId() == null).collect(Collectors.toList()).size(); - int count3 = count1-count2; + int count2 = list.stream().filter(item -> item.getChargingOrderId() != null).collect(Collectors.toList()).size(); + int count3 = list.stream().filter(item -> item.getOutParkingType() == 2).collect(Collectors.toList()).size(); //计算出list中parkingDuration的总和 int count4 = 0; for (TParkingRecord tParkingRecord : list) { @@ -322,8 +323,7 @@ @PostMapping(value = "/parking/work1") @ApiOperation(value = "停车订单统计", tags = {"管理后台-工作台"}) public R<TParkLotRecordCountVo> work1(@RequestBody ParkingRecordQueryDto parkingRecordQueryDto){ - List<TParkingRecord> list = parkingRecordService.lambdaQuery().eq(parkingRecordQueryDto.getParkingLotId() != null, TParkingRecord::getParkingLotId, parkingRecordQueryDto.getParkingLotId()) - .between(TParkingRecord::getCreateTime, parkingRecordQueryDto.getStartTime(), parkingRecordQueryDto.getEndTime()).list(); + List<TParkingRecord> list = parkingRecordService.lambdaQuery().eq(parkingRecordQueryDto.getParkingLotId() != null, TParkingRecord::getParkingLotId, parkingRecordQueryDto.getParkingLotId()).list(); int count1 = list.size(); //统计出list中chargingOrderId为null的数据个数 int count2 = list.stream().filter(item -> item.getChargingOrderId() == null).collect(Collectors.toList()).size(); diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingGunServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingGunServiceImpl.java index f182bc8..6e39044 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingGunServiceImpl.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingGunServiceImpl.java @@ -109,8 +109,11 @@ tChargingGunVO.setAuthUpdate(roleType == 1 ? true : partnerService.authMenu(objectId, siteId, SiteMenu.CHARGING_GUN_UPDATE)); tChargingGunVO.setAuthViewRates(roleType == 1 ? true : partnerService.authMenu(objectId, siteId, SiteMenu.CHARGING_GUN_VIEW_RATES)); if(null == tChargingGunVO.getAccountingStrategyId()){ - Site site = siteClient.getSiteByIds(Arrays.asList(tChargingGunVO.getSiteId())).getData().get(0); - tChargingGunVO.setAccountingStrategyId(site.getAccountingStrategyId()); + List<Site> data = siteClient.getSiteByIds(Arrays.asList(tChargingGunVO.getSiteId())).getData(); + if(data.size() > 0){ + Site site = data.get(0); + tChargingGunVO.setAccountingStrategyId(site.getAccountingStrategyId()); + } } } pageInfo.setRecords(list); 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 cddd92b..1c55a4d 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 @@ -442,7 +442,7 @@ //充电中 long charging = list.stream().filter(s -> s.getStatus().equals(4)).count(); //离网 - long offline = list.stream().filter(s -> s.getStatus().equals(0)).count(); + long offline = list.stream().filter(s -> s.getStatus().equals(1)).count(); //故障 long breakdown = list.stream().filter(s -> s.getStatus().equals(7)).count(); ChargingGunCountMonitoring chargingGunCountMonitoring = new ChargingGunCountMonitoring(); @@ -488,8 +488,8 @@ if(null != query.getStatus() && 0 < query.getStatus().size()){ if(query.getStatus().contains(3)){ + query.getStatus().add(5); query.getStatus().add(6); - query.getStatus().add(7); } } PageInfo<ChargingGunMonitoring> pageInfo = new PageInfo<>(query.getPageCurr(), query.getPageSize()); @@ -501,12 +501,13 @@ } if(status == 4){ Integer id = gunMonitoring.getId(); - //根据订单数据查询车牌号 TChargingOrder chargingOrder = chargingOrderClient.getOrderDetailByGunId(id).getData(); if(null != chargingOrder){ Long appUserCarId = chargingOrder.getAppUserCarId(); - TAppUserCar tAppUserCar = appUserCarClient.getCarByIds(Arrays.asList(appUserCarId)).getData().get(0); - gunMonitoring.setLicensePlate(tAppUserCar.getLicensePlate()); + if(null != appUserCarId){ + TAppUserCar tAppUserCar = appUserCarClient.getCarByIds(Arrays.asList(appUserCarId)).getData().get(0); + gunMonitoring.setLicensePlate(tAppUserCar.getLicensePlate()); + } UploadRealTimeMonitoringData data = uploadRealTimeMonitoringDataClient.chargingOrderInfo(chargingOrder.getCode()).getData(); gunMonitoring.setChargingRatio(BigDecimal.valueOf(data.getSoc())); diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/resources/bootstrap.yml b/ruoyi-service/ruoyi-chargingPile/src/main/resources/bootstrap.yml index 94722b1..7570bee 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/resources/bootstrap.yml +++ b/ruoyi-service/ruoyi-chargingPile/src/main/resources/bootstrap.yml @@ -46,7 +46,7 @@ enabled: true application-id: ${spring.application.name} tx-service-group: seata_tx_group #此处配置自定义的seata事务分组名称 - enable-auto-data-source-proxy: true + enable-auto-data-source-proxy: false service: vgroup-mapping: seata_tx_group: default diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TChargingGunMapper.xml b/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TChargingGunMapper.xml index 900f562..a4e5734 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TChargingGunMapper.xml +++ b/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TChargingGunMapper.xml @@ -74,6 +74,9 @@ IFNULL(COUNT(charge_mode),0) AS modeCount FROM t_charging_gun WHERE del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()} + AND charging_pile_id in ( + select id from `charging_pile_service`.`t_charging_pile` where del_flag = 0 + ) <if test="siteIds != null and siteIds.size()>0"> AND site_id IN <foreach collection="siteIds" item="siteId" open="(" separator="," close=")"> @@ -85,12 +88,15 @@ <select id="getStatusModeStatistics" resultType="com.ruoyi.chargingPile.api.vo.StatusModeStatisticsVO"> SELECT charge_mode, - IFNULL((SELECT COUNT(*) FROM t_charging_gun WHERE status = 2),0) AS freeCount, - IFNULL((SELECT COUNT(*) FROM t_charging_gun WHERE status = 5),0) AS filledCount, - IFNULL((SELECT COUNT(*) FROM t_charging_gun WHERE status = 3),0) AS insertCount, - IFNULL((SELECT COUNT(*) FROM t_charging_gun WHERE status = 4),0) AS chargingCount + IFNULL((SELECT COUNT(*) FROM t_charging_gun WHERE status = 2 AND charge_mode = #{chargeMode}),0) AS freeCount, + IFNULL((SELECT COUNT(*) FROM t_charging_gun WHERE status = 5 AND charge_mode = #{chargeMode}),0) AS filledCount, + IFNULL((SELECT COUNT(*) FROM t_charging_gun WHERE status = 3 AND charge_mode = #{chargeMode}),0) AS insertCount, + IFNULL((SELECT COUNT(*) FROM t_charging_gun WHERE status = 4 AND charge_mode = #{chargeMode}),0) AS chargingCount FROM t_charging_gun WHERE del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()} AND charge_mode = #{chargeMode} + AND charging_pile_id in ( + select id from `charging_pile_service`.`t_charging_pile` where del_flag = 0 + ) <if test="siteIds != null and siteIds.size()>0"> AND site_id IN <foreach collection="siteIds" item="siteId" open="(" separator="," close=")"> diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TChargingPileMapper.xml b/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TChargingPileMapper.xml index ce989fc..6a5ef5e 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TChargingPileMapper.xml +++ b/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TChargingPileMapper.xml @@ -105,7 +105,7 @@ </foreach> </if> <if test="null != query.name and '' != query.name"> - and a.name like CONCAT('%', #{query.name}, '%') + and CONCAT(b.number, a.name) like CONCAT('%', #{query.name}, '%') </if> </select> </mapper> diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/controller/UploadRealTimeMonitoringDataController.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/controller/UploadRealTimeMonitoringDataController.java index 3df51d9..f9c9725 100644 --- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/controller/UploadRealTimeMonitoringDataController.java +++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/controller/UploadRealTimeMonitoringDataController.java @@ -34,7 +34,7 @@ public R<UploadRealTimeMonitoringData> chargingOrderInfo(@RequestParam("orderId") String orderId){ List<UploadRealTimeMonitoringData> dataByOrderCode = uploadRealTimeMonitoringDataService.getDataByOrderCode(orderId); if(dataByOrderCode.size() > 0){ - UploadRealTimeMonitoringData uploadRealTimeMonitoringData = dataByOrderCode.get(dataByOrderCode.size() - 1); + UploadRealTimeMonitoringData uploadRealTimeMonitoringData = dataByOrderCode.get(0); return R.ok(uploadRealTimeMonitoringData); } return R.ok(); @@ -51,7 +51,7 @@ for (String s : orderId.split(",")) { List<UploadRealTimeMonitoringData> dataByOrderCode = uploadRealTimeMonitoringDataService.getDataByOrderCode(s); if(dataByOrderCode.size() > 0){ - UploadRealTimeMonitoringData uploadRealTimeMonitoringData = dataByOrderCode.get(dataByOrderCode.size() - 1); + UploadRealTimeMonitoringData uploadRealTimeMonitoringData = dataByOrderCode.get(0); res.add(uploadRealTimeMonitoringData); } diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/UploadRealTimeMonitoringDataServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/UploadRealTimeMonitoringDataServiceImpl.java index 29bea82..886759b 100644 --- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/UploadRealTimeMonitoringDataServiceImpl.java +++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/UploadRealTimeMonitoringDataServiceImpl.java @@ -1,5 +1,6 @@ package com.ruoyi.integration.mongodb.service.impl; +import cn.hutool.db.sql.Direction; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData; import com.ruoyi.integration.iotda.constant.IotConstant; @@ -54,7 +55,7 @@ query.addCriteria(Criteria.where("transaction_serial_number").is(code)); } List<UploadRealTimeMonitoringData> uploadRealTimeMonitoringData = mongoTemplate.find( - query.with(Sort.by("create_time")) + query.with(Sort.by(Sort.Order.desc("create_time"))) , UploadRealTimeMonitoringData.class); return uploadRealTimeMonitoringData; } diff --git a/ruoyi-service/ruoyi-integration/src/main/resources/bootstrap.yml b/ruoyi-service/ruoyi-integration/src/main/resources/bootstrap.yml index b61f26e..834c664 100644 --- a/ruoyi-service/ruoyi-integration/src/main/resources/bootstrap.yml +++ b/ruoyi-service/ruoyi-integration/src/main/resources/bootstrap.yml @@ -14,7 +14,6 @@ # 环境配置 active: dev # active: prod - --- spring: cloud: diff --git a/ruoyi-service/ruoyi-integration/src/test/java/com/ruoyi/integration/RuoYiIntegrationApplicationTests.java b/ruoyi-service/ruoyi-integration/src/test/java/com/ruoyi/integration/RuoYiIntegrationApplicationTests.java index 7376928..0e145ea 100644 --- a/ruoyi-service/ruoyi-integration/src/test/java/com/ruoyi/integration/RuoYiIntegrationApplicationTests.java +++ b/ruoyi-service/ruoyi-integration/src/test/java/com/ruoyi/integration/RuoYiIntegrationApplicationTests.java @@ -1,8 +1,21 @@ package com.ruoyi.integration; +import com.alibaba.fastjson2.JSON; +import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData; +import com.ruoyi.integration.mongodb.service.UploadRealTimeMonitoringDataService; +import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; + +import javax.annotation.Resource; +import java.util.List; @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = RuoYiIntegrationApplication.class) public class RuoYiIntegrationApplicationTests { - + @Resource + private UploadRealTimeMonitoringDataService uploadRealTimeMonitoringDataService; + @Test + public void test(){ + List<UploadRealTimeMonitoringData> list = uploadRealTimeMonitoringDataService.getDataByOrderCode("CD93220241022154810850"); + System.err.println(JSON.toJSONString(list)); + } } 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 6b5b491..0e6df06 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 @@ -3,9 +3,7 @@ import java.math.BigDecimal; import java.math.RoundingMode; -import java.time.DayOfWeek; -import java.time.LocalDate; -import java.time.LocalDateTime; +import java.time.*; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -23,6 +21,7 @@ import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.dto.ChargingOrderGroup; import com.ruoyi.common.core.dto.ChargingPercentProvinceDto; +import com.ruoyi.common.core.web.domain.BasePojo; import com.ruoyi.common.redis.service.RedisService; import com.ruoyi.common.security.service.TokenService; import com.ruoyi.common.core.web.domain.AjaxResult; @@ -65,7 +64,6 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.io.PrintWriter; -import java.time.YearMonth; import java.time.format.DateTimeFormatter; import java.time.temporal.ChronoUnit; import java.time.temporal.TemporalAdjusters; @@ -183,7 +181,7 @@ payOrderInfoDto.setTradeNo(byId.getRechargeSerialNumber()); payOrderInfoDto.setPayType(byId.getRechargePaymentType()); payOrderInfoDto.setPayAmount(byId.getPaymentAmount()); - payOrderInfoDto.setPayTime(byId.getPayTime()); + payOrderInfoDto.setPayTime(byId.getCreateTime()); payOrderInfoDto.setRefundAmount(byId.getRefundAmount()); return R.ok(payOrderInfoDto); case 2: @@ -194,7 +192,7 @@ payOrderInfoDto1.setTradeNo(byId1.getSerialNumber()); payOrderInfoDto1.setPayType(byId1.getPaymentType()); payOrderInfoDto1.setPayAmount(byId1.getPaymentAmount()); - payOrderInfoDto1.setPayTime(byId1.getPayTime()); + payOrderInfoDto1.setPayTime(byId1.getCreateTime()); payOrderInfoDto1.setRefundAmount(byId1.getRefundAmount()); return R.ok(payOrderInfoDto1); case 3: @@ -205,7 +203,7 @@ payOrderInfoDto2.setTradeNo(byId2.getSerialNumber()); payOrderInfoDto2.setPayType(byId2.getPaymentType()); payOrderInfoDto2.setPayAmount(byId2.getPaymentAmount()); - payOrderInfoDto2.setPayTime(byId2.getPayTime()); + payOrderInfoDto2.setPayTime(byId2.getCreateTime()); payOrderInfoDto2.setRefundAmount(byId2.getRefundAmount()); return R.ok(payOrderInfoDto2); //todo luo 停车场订单 @@ -280,7 +278,11 @@ @PostMapping(value = "/pay/order/refund/list") @ApiOperation(value = "列表", tags = {"管理后台-支付订单-退款订单"}) public R<PageInfo<TChargingOrderRefund>> refundList(@RequestBody ChargingRefundDto chargingRefundDto) { - return chargingOrderService.getRefundList(chargingRefundDto); + R<PageInfo<TChargingOrderRefund>> refundList = chargingOrderService.getRefundList(chargingRefundDto); + for (TChargingOrderRefund record : refundList.getData().getRecords()) { + record.setUid(record.getId().toString()); + } + return refundList; } @ResponseBody @@ -307,7 +309,7 @@ } @ResponseBody - @PostMapping(value = "/chargingOrderInfo") + @GetMapping(value = "/chargingOrderInfo") @ApiOperation(value = "充电桩订单列表查看详情", tags = {"管理后台-订单管理"}) public AjaxResult<ChargingOrderInfoVO> chargingOrderInfo(String strategyId) { TChargingOrder byId = chargingOrderService.getById(strategyId); @@ -690,7 +692,9 @@ BigDecimal data2 = vipOrderService.getSumAmout(sixBefore); map.put("vipAmount",data2); - return R.ok(map); + + + return R.ok(map); } @Resource @@ -814,6 +818,7 @@ } List<TChargingOrder> list = chargingOrderService.lambdaQuery().ge(TChargingOrder::getStartTime, start).le(TChargingOrder::getEndTime, end).in(TChargingOrder::getSiteId, siteIds).list(); List<Long> chargingOrderIds = list.stream().map(TChargingOrder::getId).collect(Collectors.toList()); + chargingOrderIds.add(-1L); //上方饼图 List<Map<String,Object>> maps = chargingOrderService.getSumByType(chargingOrderIds); @@ -950,16 +955,18 @@ tCharingUserMapVO.setMap(dateRangeStatistics); - List<Map<String,Object>> map1 = chargingOrderService.usersByQuery(statisticsQueryDto); + List<Map<String,Object>> map1 = chargingOrderService.usersByQuery1(statisticsQueryDto); + LocalDate startDate1 = statisticsQueryDto.getStartTime(); + LocalDate endDate1 = statisticsQueryDto.getEndTime(); List<Map<String, Object>> dateRangeStatistics1 = new ArrayList<>(); // 遍历日期范围 - while (!startDate.isAfter(endDate)) { - String formattedDate = startDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); + while (!startDate1.isAfter(endDate1)) { + String formattedDate = startDate1.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); Map<String, Object> dailyStats = findMapWithDateValue(map1, formattedDate); if (dailyStats != null) { @@ -972,7 +979,7 @@ } // 移动到下一天 - startDate = startDate.plusDays(1); + startDate1 = startDate1.plusDays(1); } tCharingUserMapVO.setMap1(dateRangeStatistics1); @@ -1156,7 +1163,15 @@ } else { siteIds.add(statisticsQueryDto.getSiteId()); } - List<TChargingOrder> list = chargingOrderService.lambdaQuery().in(!siteIds.isEmpty(), TChargingOrder::getSiteId, siteIds).eq(statisticsQueryDto.getSiteId() != null, TChargingOrder::getSiteId, statisticsQueryDto.getSiteId()).list(); + LocalDateTime selectDate = statisticsQueryDto.getSelectDate(); + LocalDateTime min = selectDate.with(LocalTime.MIN); + LocalDateTime max = selectDate.with(LocalTime.MAX); + + + + + + List<TChargingOrder> list = chargingOrderService.lambdaQuery().in(!siteIds.isEmpty(), TChargingOrder::getSiteId, siteIds).ge( TChargingOrder::getCreateTime,min).le(BasePojo::getCreateTime,max).eq(statisticsQueryDto.getSiteId() != null, TChargingOrder::getSiteId, statisticsQueryDto.getSiteId()).list(); //当日的订单总数 int size = list.size(); //计算list中paymentAmount的总和 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 9a12758..96f71ec 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 @@ -6,6 +6,7 @@ import com.ruoyi.account.api.model.TAppUser; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.web.domain.AjaxResult; +import com.ruoyi.common.core.web.domain.BasePojo; import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.common.security.service.TokenService; import com.ruoyi.common.security.utils.SecurityUtils; @@ -63,7 +64,9 @@ .like(manageOrderAppealQuery.getCode() != null, TOrderAppeal::getCode, manageOrderAppealQuery.getCode()) .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())); + .in(TOrderAppeal::getOrderType, 1, 2) + .orderByDesc(TOrderAppeal::getFeedbackTime) + .page(Page.of(manageOrderAppealQuery.getPageCurr(), manageOrderAppealQuery.getPageSize())); for (TOrderAppeal record : page.getRecords()) { record.setUid(record.getId().toString()); diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderEvaluateController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderEvaluateController.java index e2e2faf..8b7a5c7 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderEvaluateController.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderEvaluateController.java @@ -127,7 +127,7 @@ @ApiImplicitParam(value = "订单id", name = "orderId", required = true), @ApiImplicitParam(value = "订单类型(1=充电订单,2=购物订单,3=兑换订单,4=会员订单)", name = "orderType", required = true), }) - public AjaxResult<OrderEvaluateVo> getOrderEvaluate(@PathVariable Integer orderId, Integer orderType){ + public AjaxResult<OrderEvaluateVo> getOrderEvaluate(Integer orderId, Integer orderType){ OrderEvaluateVo orderEvaluate = orderEvaluateService.getOrderEvaluate(orderId, orderType); return AjaxResult.success(orderEvaluate); } diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/ChargingStatisticsQueryDto.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/ChargingStatisticsQueryDto.java index 7e70f9a..0c028e2 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/ChargingStatisticsQueryDto.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/ChargingStatisticsQueryDto.java @@ -1,9 +1,11 @@ package com.ruoyi.order.dto; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.time.LocalDate; +import java.time.LocalDateTime; @Data public class ChargingStatisticsQueryDto { @@ -16,5 +18,6 @@ @ApiModelProperty("结束时间") private LocalDate endTime; @ApiModelProperty("工作台用查询参数") - private LocalDate selectDate; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GTM+8") + private LocalDateTime selectDate; } 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 6fd7392..4b5a40a 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 @@ -1,5 +1,6 @@ package com.ruoyi.order.dto; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -28,10 +29,13 @@ @ApiModelProperty("支付金额") private Double paymentAmount; @ApiModelProperty("下单时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime createTime; @ApiModelProperty("订单完成时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime endTime; @ApiModelProperty("支付时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime payTime; private Integer refundStatus; private Double finalAmount; diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/PayOrderQueryDto.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/PayOrderQueryDto.java index d20be80..ebe73e6 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/PayOrderQueryDto.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/PayOrderQueryDto.java @@ -25,10 +25,10 @@ private Integer isRefund; @ApiModelProperty("下单时间1") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime createTime1; @ApiModelProperty("下单时间2") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime createTime2; } diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java index 4bb5752..f955e49 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java @@ -459,33 +459,33 @@ } BigDecimal add = tChargingOrder.getElectrovalence().add(tChargingOrder.getServiceCharge()); tChargingOrder.setTotalAmount(add.toString()); - tChargingOrder.setDiscount(tChargingOrder.getCouponDiscountAmount().toString()); + tChargingOrder.setDiscount(tChargingOrder.getCouponDiscountAmount()!=null?tChargingOrder.getCouponDiscountAmount().toString():"0"); UploadRealTimeMonitoringData data5 = uploadRealTimeMonitoringDataClient.chargingOrderInfo(tChargingOrder.getCode()).getData(); if (data5!=null){ if (data5.getTime_remaining()!=null){ chargingSecond+=data5.getTime_remaining()*60; } + Integer cumulativeChargingTime = data5.getCumulative_charging_time(); + // 将其转化为xx小时xx分钟xx秒显示 如果是0小时则不展示小时 如果是0分钟则不展示分钟 + if (cumulativeChargingTime!=null){ + // 计算小时、分钟和秒 + int hours = cumulativeChargingTime / 60; + int minutes = cumulativeChargingTime % 60; + int seconds = 0; // 如果没有秒数,则默认是0 + StringBuilder result = new StringBuilder(); + if (hours > 0) { + result.append(hours).append("小时"); + } + if (minutes > 0) { + result.append(minutes).append("分钟"); + } + if (seconds > 0 || result.length() == 0) { // 如果秒数大于0,或者小时和分钟都为0,则显示秒数 + result.append(seconds).append("秒"); + } + tChargingOrder.setChargingTime(result.toString()); + } + tChargingOrder.setEndSoc(data5.getSoc().toString()); } - Integer cumulativeChargingTime = data5.getCumulative_charging_time(); - // 将其转化为xx小时xx分钟xx秒显示 如果是0小时则不展示小时 如果是0分钟则不展示分钟 - if (cumulativeChargingTime!=null){ - // 计算小时、分钟和秒 - int hours = cumulativeChargingTime / 60; - int minutes = cumulativeChargingTime % 60; - int seconds = 0; // 如果没有秒数,则默认是0 - StringBuilder result = new StringBuilder(); - if (hours > 0) { - result.append(hours).append("小时"); - } - if (minutes > 0) { - result.append(minutes).append("分钟"); - } - if (seconds > 0 || result.length() == 0) { // 如果秒数大于0,或者小时和分钟都为0,则显示秒数 - result.append(seconds).append("秒"); - } - tChargingOrder.setChargingTime(result.toString()); - } - tChargingOrder.setEndSoc(data5.getSoc().toString()); TAppUser data3 = appUserClient.getUserById(tChargingOrder.getAppUserId()).getData(); if (tChargingOrder.getAppUserCarId()!=null){ List<TAppUserCar> data4 = appUserCarClient.getCarByIds(Arrays.asList(tChargingOrder.getAppUserCarId())).getData(); @@ -514,7 +514,7 @@ electrovalence = electrovalence.add(tChargingOrder.getElectrovalence()); electrovalenceTotal = electrovalenceTotal.add(tChargingOrder.getElectrovalence()); } - if (tChargingOrder.getRefundAmount()!=null && tChargingOrder.getRefundStatus() == 2){ + if (tChargingOrder.getRefundAmount()!=null && tChargingOrder.getRefundStatus() !=null && tChargingOrder.getRefundStatus() == 2){ refundAmount = refundAmount.add(tChargingOrder.getRefundAmount()); } // 累加累计服务费 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 cff3804..a75a12c 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 @@ -52,8 +52,11 @@ List<TChargingOrder> list = chargingOrderService.list(new LambdaQueryWrapper<TChargingOrder>().in(TChargingOrder::getSiteId, siteIds).eq(TChargingOrder::getStatus, 5) .eq(TChargingOrder::getDelFlag, 0).last(" and start_time between '" + startTime + "' and DATE_FORMAT(now(), '%Y-%m-%d %H:%i:%s')")); List<Long> orderId = list.stream().map(TChargingOrder::getId).collect(Collectors.toList()); - List<TChargingOrderAccountingStrategy> list1 = this.list(new LambdaQueryWrapper<TChargingOrderAccountingStrategy>().in(TChargingOrderAccountingStrategy::getChargingOrderId, orderId)); - + List<TChargingOrderAccountingStrategy> list1 = new ArrayList<>(); + if(orderId.size() > 0){ + list1 = this.list(new LambdaQueryWrapper<TChargingOrderAccountingStrategy>().in(TChargingOrderAccountingStrategy::getChargingOrderId, orderId)); + } + List<List<Map<String, Object>>> list2 = new ArrayList<>(); for (int i = days; i >= 0; i--) { Calendar nowDateTime = Calendar.getInstance(); diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java index d895c8d..84b911b 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java @@ -441,7 +441,6 @@ chargingOrder.setRechargePaymentStatus(1); chargingOrder.setRechargeAmount(addChargingOrder.getPaymentAmount()); chargingOrder.setAppCouponId(addChargingOrder.getAppUserCouponId()); - chargingOrder.setVipDiscount(new BigDecimal(10)); chargingOrder.setVipDiscountAmount(BigDecimal.ZERO); chargingOrder.setOrderSource(0); chargingOrder.setTitle("【充电桩充电】" + chargingPile.getNumber() + "号桩/" + tChargingGun.getCode() + "号枪"); @@ -609,12 +608,12 @@ if(times > m){ //充电时间跨度两个计费策略,需要继续对下一个策略进行计算 serviceCharge = s_server_amount.multiply(new BigDecimal(m)); - discountAmount = discountAmount.add(serviceCharge.multiply((new BigDecimal(1).subtract(discount)))); + discountAmount = discountAmount.add(serviceCharge.multiply(new BigDecimal(1).subtract(discount))); rechargeAmount1 = rechargeAmount1.subtract(s_total_amount.multiply(new BigDecimal(m))); nowTimeMillis = null; }else{ serviceCharge = s_server_amount.multiply(new BigDecimal(times)); - discountAmount = discountAmount.add(serviceCharge.multiply((new BigDecimal(1).subtract(discount)))); + discountAmount = discountAmount.add(serviceCharge.multiply(new BigDecimal(1).subtract(discount))); break; } } @@ -652,116 +651,10 @@ log.error(chargingOrder.getCode() + ":-------------------远程调起开始充电请求-------------------" + platformStartCharging.toString()); sendMessageClient.platformStartCharging(platformStartCharging); - //异步线程检测远程启动的应答结果。如果失败,则需要全额退款 - Long id = chargingOrder.getId(); - //执行5分钟的定时任务检测 - ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1); - scheduler.scheduleAtFixedRate(()->{ - if(timingDetection(id)){ - scheduler.shutdown(); - } - }, 5, 1, TimeUnit.SECONDS); return AjaxResult.success(); } - - /** - * 定时检测mongodb数据库数据 - * @param id - * @return - */ - public boolean timingDetection(Long id){ - TChargingOrder chargingOrder = this.getById(id); - if(chargingOrder.getStatus() != 2){ - return true; - } - String code = chargingOrder.getCode(); - String key = "AQJC_" + chargingOrder.getChargingGunId(); - //获取安全校验 - com.ruoyi.integration.api.model.SecurityDetection securityDetection = securityDetectionClient.getSecurityDetection(chargingOrder.getCode()).getData(); - if(null != securityDetection){ - PreChargeCheck preChargeCheck1 = redisService.getCacheObject("AQJC_" + chargingOrder.getChargingGunId()); - if(null != preChargeCheck1){ - preChargeCheck1.setElectronicLockLock(true); - preChargeCheck1.setInsulationTesting(true); - preChargeCheck1.setSecureConnectionDetection(securityDetection.getSecure_connection() == 1); - preChargeCheck1.setStartupSuccess(1); - redisService.setCacheObject("AQJC_" + chargingOrder.getChargingGunId(), preChargeCheck1, 24L, TimeUnit.HOURS); - } - } - - List<PlatformStartChargingReply> data = platformStartChargingReplyClient.getPlatformStartChargingReply(code).getData(); - if(null == data){ - return false; - } - log.error(code + ":-------------------开始检查调起充电结果-------------------" + data.toString()); - if(data.size() != 0){ - PlatformStartChargingReply platformStartChargingReply = data.get(1); - Integer startup_result = platformStartChargingReply.getStartup_result(); - Integer failure_cause = platformStartChargingReply.getFailure_cause(); - Integer counter = counter_map.get(code); - PreChargeCheck preChargeCheck1 = redisService.getCacheObject(key); - //5分钟内还未插枪则取消充电,退回金额。 - if(failure_cause == 5 && (null == counter || counter < 300)){ - counter = (null == counter ? 0 : counter) + 1; - counter_map.put(code, counter); - //启动失败 - preChargeCheck1.setStartupSuccess(3); - preChargeCheck1.setFailureCause(failure_cause); - redisService.setCacheObject(key, preChargeCheck1, 24L, TimeUnit.HOURS); - return false; - } - - //清除计时器中的无效数据 - counter_map.remove(code); - TChargingOrder order = this.getOne(new LambdaQueryWrapper<TChargingOrder>().eq(TChargingOrder::getCode, code)); - if(0 == startup_result){ - //启动失败 - preChargeCheck1.setStartupSuccess(3); - preChargeCheck1.setFailureCause(failure_cause); - //启动失败后取消订单,退款操作 - refund(code); - order.setStatus(-1); - order.setEndMode(0); - }else{ - //启动成功 - preChargeCheck1.setStartupSuccess(2); - order.setStatus(3); - order.setStartTime(LocalDateTime.now()); - } - this.updateById(order); - redisService.setCacheObject(key, preChargeCheck1, 24L, TimeUnit.HOURS); - return true; - }else{ - Integer counter = boot_failed_map.get(code); - log.error(code + ":-------------------未上传开启充电结果-------------------" + counter); - PreChargeCheck preChargeCheck1 = redisService.getCacheObject(key); - //5分钟内未启动成功,退回金额。 - if(null == counter || counter < 300){ - counter = (null == counter ? 0 : counter) + 1; - boot_failed_map.put(code, counter); - //启动失败 - preChargeCheck1.setStartupSuccess(3); - preChargeCheck1.setFailureCause(0); - redisService.setCacheObject(key, preChargeCheck1, 24L, TimeUnit.HOURS); - return false; - } - - //清除计时器中的无效数据 - boot_failed_map.remove(code); - TChargingOrder order = this.getOne(new LambdaQueryWrapper<TChargingOrder>().eq(TChargingOrder::getCode, code)); - //启动失败 - preChargeCheck1.setStartupSuccess(3); - preChargeCheck1.setFailureCause(0); - //启动失败后取消订单,退款操作 - refund(code); - order.setStatus(-1); - order.setEndMode(0); - this.updateById(order); - redisService.setCacheObject(key, preChargeCheck1, 24L, TimeUnit.HOURS); - return true; - } - } + /** @@ -928,7 +821,7 @@ if(null != data){ chargingDetails.setChargeCurrent(data.getOutput_current()); chargingDetails.setChargeVoltage(data.getOutput_voltage()); - BigDecimal power = data.getOutput_current().multiply(data.getOutput_voltage()).divide(new BigDecimal(1000)); + BigDecimal power = data.getOutput_current().multiply(data.getOutput_voltage()).divide(new BigDecimal(1000), new MathContext(4, RoundingMode.HALF_EVEN)); chargingDetails.setChargePower(power); chargingDetails.setCompletionRatio(data.getSoc()); chargingDetails.setRemainingChargeTime(data.getTime_remaining()); @@ -983,70 +876,6 @@ sendMessageClient.platformStopCharging(platformStopCharging); log.error(code1 + ":-------------------远程停止充电请求-------------------"); log.error(platformStopCharging.toString()); - //开始查询停机应答,成功后开始计费费用 - boolean stop_status = false; - for (int i = 0; i < 60; i++) { - TChargingOrder chargingOrder1 = this.getById(id); - if(chargingOrder1.getStatus() != 3){ - stop_status = true; - break; - } - GetPlatformStopChargingReply query = new GetPlatformStopChargingReply(); - query.setCharging_gun_code(chargingGun.getCode()); - query.setCharging_pile_code(chargingPile.getCode()); - - //将时间转换成UTC时间后查询数据(mongodb存储时间以UTC格式存储) - ZoneId zoneId = ZoneId.systemDefault(); - ZonedDateTime zonedDateTime = ZonedDateTime.of(chargingOrder.getEndTime(), zoneId); - ZonedDateTime endTime = zonedDateTime.withZoneSameInstant(ZoneId.of("UTC")); - query.setEnd_time(endTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); - PlatformStopChargingReply reply = platformStopChargingReplyClient.getPlatformStopChargingReply(query).getData(); - log.error(code1 + ":-------------------查询远程停止充电应答-------------------"); - if(null == reply){ - log.error(code1 + ":-------------------远程停止充电应答无数据-------------------"); - try { - Thread.sleep(1000); - } catch (InterruptedException e) { - throw new RuntimeException(e); - } - continue; - } - log.error(reply.toString()); - - if(0 == reply.getStop_result()){ - String failure_cause = ""; - switch (reply.getFailure_cause()){ - case 0: - failure_cause = "无"; - break; - case 1: - failure_cause = "设备编号不匹配"; - break; - case 2: - failure_cause = "枪未处于充电状态"; - break; - case 3: - failure_cause = "其他"; - break; - } - log.error(code1 + ":停机失败:订单号:{},失败原因:{}", chargingOrder.getCode(), failure_cause); - try { - Thread.sleep(1000); - } catch (InterruptedException e) { - throw new RuntimeException(e); - } - }else{ - log.error(code1 + ":-------------------远程停止充电请求成功-------------------"); - stop_status = true; - break; - } - } - if(stop_status){ - chargingOrder.setEndMode(1); - this.updateById(chargingOrder); - }else{ - log.error(code1 + ":-------------------远程停止充电应答最终失败-------------------"); - } }); return AjaxResult.success(); } @@ -1124,7 +953,7 @@ //处理推荐奖励(被推荐首单奖励) TAppUser appUser = appUserClient.getUserById(chargingOrder.getAppUserId()).getData(); long count = this.count(new LambdaQueryWrapper<TChargingOrder>().eq(TChargingOrder::getAppUserId, chargingOrder.getAppUserId()) - .eq(TChargingOrder::getStatus, 5).isNull(TChargingOrder::getEndMode).eq(TChargingOrder::getDelFlag, 0)); + .in(TChargingOrder::getStatus, Arrays.asList(4, 5)).eq(TChargingOrder::getDelFlag, 0)); if(null != appUser.getInviteUserId() && 1 == count){ TIntegralRule integralRule = integralRuleClient.getSet().getData(); String inviteUsersToEarnPoints = integralRule.getInviteUsersToEarnPoints(); @@ -1165,6 +994,7 @@ appUserIntegralChange.setCurrentIntegral(appUser1.getPoints() + num1); appUserIntegralChange.setCreateTime(LocalDateTime.now()); appUserIntegralChange.setOrderCode(chargingOrder.getCode()); + appUserIntegralChange.setExtension(chargingOrder.getId().toString()); appUserIntegralChangeClient.addAppUserIntegralChange(appUserIntegralChange); appUser1.setPoints(appUser1.getPoints() + num1); @@ -1721,8 +1551,11 @@ public void chargeMonitoring(UploadRealTimeMonitoringDataQuery query) { if(com.ruoyi.common.core.utils.StringUtils.isNotEmpty(query.getTransaction_serial_number())){ //获取当前的计费策略 - TChargingOrder chargingOrder = this.getOne(new LambdaQueryWrapper<TChargingOrder>().eq(TChargingOrder::getCode, query.getTransaction_serial_number())); - BigDecimal residualAmount = chargingOrder.getRechargeAmount().add(chargingOrder.getVipDiscountAmount()).subtract(query.getPaid_amount()); + TChargingOrder chargingOrder1 = this.getOne(new LambdaQueryWrapper<TChargingOrder>().eq(TChargingOrder::getCode, query.getTransaction_serial_number())); + BigDecimal residualAmount = chargingOrder1.getRechargeAmount().add(chargingOrder1.getVipDiscountAmount()).subtract(query.getPaid_amount()); + TChargingOrder chargingOrder = new TChargingOrder(); + chargingOrder.setId(chargingOrder1.getId()); + chargingOrder.setAppUserId(chargingOrder1.getAppUserId()); chargingOrder.setResidualAmount(residualAmount); if(query.getOutput_current().compareTo(BigDecimal.ZERO) != 0){ BigDecimal divide = (query.getOutput_current().multiply(query.getOutput_voltage())).divide(new BigDecimal(1000)); @@ -1732,11 +1565,12 @@ chargingOrder.setPower(divide); chargingOrder.setNeedElec(query.getOutput_current()); - TChargingGun chargingGun = chargingGunClient.getChargingGunById(chargingOrder.getChargingGunId()).getData(); + TChargingGun chargingGun = new TChargingGun(); + chargingGun.setId(chargingOrder1.getChargingGunId()); chargingGun.setChargingPower(divide); - chargingGun.setSoc(query.getSoc()); chargingGunClient.updateChargingGunById(chargingGun); } + chargingOrder.setChargingCapacity(query.getCharging_degree()); chargingOrder.setElectricity(query.getCharging_degree()); chargingOrder.setTotalElectricity(new BigDecimal(100 - query.getSoc())); this.updateById(chargingOrder); @@ -1781,11 +1615,6 @@ if(status == 4 || status == 5){ return; } - - //计算用户标签 - editUserTag(chargingOrder); - //用户推荐奖励 - referralReward(chargingOrder); //如果使用优惠券需要判断优惠券是否满足使用条件 //根据实际的充电金额计算退款金额 退回费用=(原金额/总金额)*(总金额-实际充电金额) @@ -1840,7 +1669,7 @@ BigDecimal serviceCharge = originalServicePrice; //计算优惠金额 if(null != chargingOrder.getVipDiscount()){ - serviceCharge = serviceCharge.multiply(chargingOrder.getVipDiscount().divide(new BigDecimal(10))).setScale(2, RoundingMode.DOWN); + serviceCharge = serviceCharge.multiply(chargingOrder.getVipDiscount()).setScale(2, RoundingMode.DOWN); } chargingOrderAccountingStrategy.setChargingCapacity(sharp_peak_charge); chargingOrderAccountingStrategy.setPeriodElectricPrice(electrovalenc); @@ -1878,7 +1707,8 @@ if(null != chargingOrder.getVipDiscount()){ //服务费折扣 discountAmount = periodServicePrice_total.multiply((new BigDecimal(1).subtract(chargingOrder.getVipDiscount()))); - + periodServicePrice_total = periodServicePrice_total.multiply(chargingOrder.getVipDiscount()); + TAppUser appUser = appUserClient.getUserById(chargingOrder.getAppUserId()).getData(); if(null != appUser.getVipId()){ //判断会员是否还有充电优惠次数 @@ -1931,9 +1761,17 @@ if(1 == preferentialMode){ //满减 if(payAmount.compareTo(tCoupon.getMeetTheConditions()) >= 0){ - refundAmount = refundAmount.add(tCoupon.getDiscountAmount()); - order.setCouponDiscountAmount(tCoupon.getDiscountAmount()); - payAmount = payAmount.subtract(tCoupon.getDiscountAmount()); + BigDecimal couponDiscountAmount = tCoupon.getDiscountAmount(); + //如果优惠金额大于服务费金额,以服务费作为最大限制 + if(periodServicePrice_total.compareTo(couponDiscountAmount) < 0){ + refundAmount = refundAmount.add(periodServicePrice_total); + order.setCouponDiscountAmount(periodServicePrice_total); + payAmount = payAmount.subtract(periodServicePrice_total); + }else{ + refundAmount = refundAmount.add(couponDiscountAmount); + order.setCouponDiscountAmount(couponDiscountAmount); + payAmount = payAmount.subtract(couponDiscountAmount); + } }else{ order.setAppCouponId(null); order.setCouponDiscountAmount(BigDecimal.ZERO); @@ -1946,9 +1784,16 @@ //折扣金额 BigDecimal divide = payAmount.multiply(new BigDecimal(10).subtract(tCoupon.getDiscount())).divide(new BigDecimal(10)); divide = divide.compareTo(tCoupon.getMaximumDiscountAmount()) > 0 ? tCoupon.getMaximumDiscountAmount() : divide; - refundAmount = refundAmount.add(divide); - order.setCouponDiscountAmount(divide); - payAmount = payAmount.subtract(divide); + //如果优惠金额大于服务费金额,以服务费作为最大限制 + if(periodServicePrice_total.compareTo(divide) < 0){ + refundAmount = refundAmount.add(periodServicePrice_total); + order.setCouponDiscountAmount(periodServicePrice_total); + payAmount = payAmount.subtract(periodServicePrice_total); + }else{ + refundAmount = refundAmount.add(divide); + order.setCouponDiscountAmount(divide); + payAmount = payAmount.subtract(divide); + } }else{ order.setAppCouponId(null); order.setCouponDiscountAmount(BigDecimal.ZERO); @@ -1963,10 +1808,10 @@ chargingOrder = this.getById(order.getId()); // 将枪状态重置为空闲 - TChargingGun chargingGun = chargingGunClient.getChargingGunById(chargingOrder.getChargingGunId()).getData(); + TChargingGun chargingGun = new TChargingGun(); + chargingGun.setId(chargingOrder.getChargingGunId()); chargingGun.setStatus(2); chargingGun.setChargingPower(BigDecimal.ZERO); - chargingGun.setSoc(0); chargingGunClient.updateChargingGunById(chargingGun); //添加积分 @@ -1992,10 +1837,15 @@ appUserIntegralChange.setCurrentIntegral(appUser.getPoints()); appUserIntegralChange.setCreateTime(LocalDateTime.now()); appUserIntegralChange.setOrderCode(chargingOrder.getCode()); + appUserIntegralChange.setExtension(chargingOrder.getId().toString()); appUserClient.updateAppUser(appUser); appUserIntegralChangeClient.addAppUserIntegralChange(appUserIntegralChange); } - + + //计算用户标签 + editUserTag(chargingOrder); + //用户推荐奖励 + referralReward(chargingOrder); //开始构建退款费用 if(refundAmount.compareTo(BigDecimal.ZERO) > 0){ diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java index 78d1c96..b0b28a0 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java @@ -347,6 +347,7 @@ appUser.setPoints(appUser.getPoints() + num1); appUserClient.updateAppUser(appUser); + TChargingOrder chargingOrder = chargingOrderService.getById(orderEvaluate.getOrderId()); //积分变动明细 TAppUserIntegralChange appUserIntegralChange = new TAppUserIntegralChange(); appUserIntegralChange.setAppUserId(appUser.getId()); @@ -354,7 +355,8 @@ appUserIntegralChange.setHistoricalIntegral(points); appUserIntegralChange.setCurrentIntegral(points + num1); appUserIntegralChange.setCreateTime(LocalDateTime.now()); - appUserIntegralChange.setOrderCode(orderEvaluate.getId().toString()); + appUserIntegralChange.setOrderCode(chargingOrder.getCode()); + appUserIntegralChange.setExtension(orderEvaluate.getOrderId().toString()); appUserIntegralChangeClient.addAppUserIntegralChange(appUserIntegralChange); } } diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java index b8d4244..7f8b25f 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java @@ -153,7 +153,9 @@ discount = discount.add(tActivityStatisticslVO.getVipDiscountAmount()); stringBuilder1.append("会员抵扣").append("+"); } - stringBuilder1.deleteCharAt(stringBuilder1.length()-1); + if (stringBuilder1.length()>0){ + stringBuilder1.deleteCharAt(stringBuilder1.length()-1); + } tActivityStatisticslVO.setType(stringBuilder1.toString()); tActivityStatisticslVO.setTime(tActivityStatisticslVO.getCreateTime()); break; @@ -202,7 +204,7 @@ public Map<String, Object> getMyShoppingOrderList(GetMyShoppingOrderList query) { Long userId = tokenService.getLoginUserApplet().getUserId(); LambdaQueryWrapper<TShoppingOrder> wrapper = new LambdaQueryWrapper<TShoppingOrder>().eq(TShoppingOrder::getDelFlag, 0) - .eq(TShoppingOrder::getAppUserId, userId).eq(TShoppingOrder::getPaymentStatus, 2).notIn(TShoppingOrder::getStatus, Arrays.asList(4, 5)); + .eq(TShoppingOrder::getAppUserId, userId).eq(TShoppingOrder::getPaymentStatus, 2).notIn(TShoppingOrder::getStatus, Arrays.asList(5)); if(query.getStatus() != 0){ wrapper.eq(TShoppingOrder::getStatus, query.getStatus()); } diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/task/TaskUtil.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/task/TaskUtil.java index b6a4265..fdd88a3 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/task/TaskUtil.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/task/TaskUtil.java @@ -47,11 +47,11 @@ // @Scheduled(cron = "0 0 0 2 * ?") // 每天凌晨12点执行的定时任务 - @Scheduled(cron = "0 0 12 2 * ?") - // 每30秒执行一次的定时任务 - @Scheduled(cron = "0/30 * * * * ?") + +@Scheduled(cron = "0 0 12 1 * ?") public void taskMonth() { try { + System.err.println("执行定时任务生成账单"); // 获取上个月的开始和结束日期 LocalDate firstDayOfLastMonth = LocalDate.now().minusMonths(1). withDayOfMonth(2); @@ -67,6 +67,7 @@ .collect(Collectors.joining()); // 将其连接成一个字符串 tChargingBill.setCode("JSD"+string+randomDigits ); tChargingBill.setType(1); + tChargingBill.setSiteId(0); tChargingBill.setBillTime(LocalDateTime.now()); tChargingBill.setStatus(1); tChargingBill.setOrderState(2); @@ -74,13 +75,13 @@ // 每月二号给每个站点生成上月账单 List<Integer> collect = siteClient.getSiteAll().getData().stream().map(Site::getId).collect(Collectors.toList()); List<TChargingBill> tChargingBills = new ArrayList<>(); - for (int i = 1; i <= collect.size(); i++) { + for (int i = 0; i < collect.size(); i++) { TChargingBill tChargingBill1 = new TChargingBill(); Random random1 = new Random(); String randomDigits1 = random1.ints(10, 0, 10) // 生成10个随机数字,范围在0-9 .mapToObj(String::valueOf) .collect(Collectors.joining()); // 将其连接成一个字符串 - tChargingBill1.setCode("JSD"+string+randomDigits1+i ); + tChargingBill1.setCode("JSD"+string+randomDigits1+(i+1) ); tChargingBill1.setType(2); tChargingBill1.setSiteId(collect.get(i)); tChargingBill1.setBillTime(LocalDateTime.now()); @@ -88,6 +89,7 @@ tChargingBill1.setOrderState(2); tChargingBills.add(tChargingBill1); } + System.err.println("列表"+tChargingBills); if (!tChargingBills.isEmpty())chargingBillService.saveBatch(tChargingBills); } catch (Exception e) { @@ -95,7 +97,7 @@ } } // 每个月最后一天23点执行的定时任务 - @Scheduled(cron = "0 0 23 L * ?") + @Scheduled(cron = "0 0 12 1 * ?") public void taskLastDay() { try { // 获取上个月的开始和结束日期 diff --git a/ruoyi-service/ruoyi-order/src/main/resources/bootstrap.yml b/ruoyi-service/ruoyi-order/src/main/resources/bootstrap.yml index d0b8691..c1a7ee9 100644 --- a/ruoyi-service/ruoyi-order/src/main/resources/bootstrap.yml +++ b/ruoyi-service/ruoyi-order/src/main/resources/bootstrap.yml @@ -89,7 +89,7 @@ nacos: discovery: # 开发环境 - server-addr: 192.168.110.169:8848 # nacos注册中心地址 + server-addr: 192.168.110.169:8848 namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb # 命名空间 group: DEFAULT_GROUP application: seata-server #Nacos 中 Seata 名称 @@ -121,6 +121,7 @@ namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a username: nacos password: nacos + ip: 192.168.110.111 config: # 配置中心地址 server-addr: 192.168.0.137:8848,192.168.0.123:8848 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 b2fd2c8..86a12f8 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 @@ -52,7 +52,7 @@ <select id="getMyChargingOrderList" resultMap="BaseResultMap"> - select * from t_charging_order where del_flag = 0 and app_user_id = #{appUserId} + select * from t_charging_order where del_flag = 0 and app_user_id = #{appUserId} and recharge_payment_status = 2 <if test="1 == type"> and id not in (select order_id from t_order_evaluate where order_type = 1 and app_user_id = #{appUserId} and del_flag = 0) </if> @@ -107,6 +107,7 @@ <if test="endTime1 != null and endTime1!=''"> and (t1.end_time between #{endTime1} and #{endTime2}) </if> + and t1.del_flag = 0 order by t1.create_time desc </select> <select id="payOrderQuery" resultType="com.ruoyi.order.dto.PayOrderDto"> @@ -188,6 +189,7 @@ LEFT JOIN `charging_pile_account`.`t_app_user` i on o.app_user_id = i.id <where> o.del_flag = 0 + <if test="data.code != null and data.code != ''"> AND o.code LIKE CONCAT('%',#{data.code},'%') </if> @@ -367,7 +369,7 @@ </select> <select id="countAll" resultType="java.util.Map"> - select sum(electrovalence) as electrovalence,sum(service_charge) as service_charge,sum(commission_amount) as commission_amount,sum(sharing_amount) as sharing_amount + select sum(electrovalence) as electrovalence,sum(service_charge) as service_charge,ROUND(sum(order_amount) * 0.0006, 2) as commission_amount,sum(sharing_amount) as sharing_amount from t_charging_order where create_time >= #{sixBefore} and del_flag = 0 and recharge_payment_status = 2 </select> @@ -774,6 +776,7 @@ SELECT count(1) as counts,vehicle_use from charging_pile_account.t_app_user_car + where del_flag = 0 GROUP BY vehicle_use </select> <select id="carUserBrand" resultType="java.util.Map"> @@ -781,6 +784,7 @@ SELECT count(1) as counts,vehicle_brand from charging_pile_account.t_app_user_car + where del_flag = 0 GROUP BY vehicle_brand </select> <select id="countLocalCar" resultType="java.util.Map"> diff --git a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TShoppingOrderMapper.xml b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TShoppingOrderMapper.xml index 6144472..d0401f3 100644 --- a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TShoppingOrderMapper.xml +++ b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TShoppingOrderMapper.xml @@ -44,9 +44,18 @@ id, code, app_user_id, order_type, goods_id, coupon_id, purchase_quantity, app_user_address_id, order_amount, app_coupon_id, coupon_discount_amount, vip_discount, vip_discount_amount, payment_amount, payment_status, payment_type, serial_number, remark, status, express_company, express_number, consigner_id, consigner_time, receiving_time, cancellation_time, cancellation_id, refund_code, refund_amount, refund_status, refund_serial_number, refund_time, create_time, del_flag </sql> <select id="activityStatistics" resultType="com.ruoyi.order.api.vo.TActivityStatisticslVO"> + select t9.code ,t9.order_amount as orderAmount, + t9.coupon_discount_amount as couponDiscountAmount, + t9.vip_discount_amount as vipDiscountAmount, + t9.payment_amount as paymentAmount, + t9.create_time as createTime, + 1 as orderType + from t_charging_order t9 + where t9.id = 0 limit 1 <if test="req.orderType == null or req.orderType == 1"> <if test="req.type == null or req.type == 1 or req.type == 2"> - select t1.code ,t1.order_amount as orderAmount, + union all + select t1.code ,t1.order_amount as orderAmount, t1.coupon_discount_amount as couponDiscountAmount, t1.vip_discount_amount as vipDiscountAmount, t1.payment_amount as paymentAmount, @@ -98,13 +107,13 @@ and t2.code LIKE CONCAT('%',#{req.code},'%') </if> <if test="req.type != null and req.type != '' and req.type == 1"> - and t2.coupon_discount_amount IS NOT NULL and t2.coupon_discount_amount != 0 + and (t2.coupon_discount_amount > 0) </if> <if test="req.type != null and req.type != '' and req.type == 2"> - and t2.vip_discount_amount IS NOT NULL and t2.vip_discount_amount != 0 + and ( t2.vip_discount_amount > 0) </if> <if test="req.type == null "> - and t2.vip_discount_amount IS NOT NULL and t2.vip_discount_amount != 0 and t2.coupon_discount_amount IS NOT NULL and t2.coupon_discount_amount != 0 + and (t2.vip_discount_amount > 0 or t2.coupon_discount_amount > 0) </if> <if test="null != req.userIds and req.userIds.size()>0" > and t2.app_user_id in @@ -115,7 +124,6 @@ <if test="req.endTime != null and req.endTime != '' and req.startTime != null and req.startTime != ''"> AND (t2.create_time between CONCAT(#{req.startTime},':00') and CONCAT(#{req.endTime},':59')) </if> - and t2.refund_status !=2 and t2.payment_status =2 AND t2.del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()} </if> diff --git a/ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/RuoYiOrderApplicationTests.java b/ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/RuoYiOrderApplicationTests.java index abaeb88..3bcd182 100644 --- a/ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/RuoYiOrderApplicationTests.java +++ b/ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/RuoYiOrderApplicationTests.java @@ -1,14 +1,37 @@ package com.ruoyi.order; import com.alibaba.fastjson2.JSON; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.ruoyi.account.api.feignClient.*; +import com.ruoyi.account.api.model.TAppUserCar; +import com.ruoyi.chargingPile.api.feignClient.*; +import com.ruoyi.chargingPile.api.model.Site; +import com.ruoyi.chargingPile.api.model.TChargingGun; +import com.ruoyi.chargingPile.api.model.TChargingPile; import com.ruoyi.common.core.web.domain.AjaxResult; +import com.ruoyi.common.redis.service.RedisService; +import com.ruoyi.common.security.service.TokenService; +import com.ruoyi.integration.api.feignClient.*; +import com.ruoyi.integration.api.model.ChargingHandshake; +import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData; +import com.ruoyi.order.api.feignClient.AccountingStrategyDetailOrderClient; +import com.ruoyi.order.api.model.TChargingOrder; +import com.ruoyi.order.dto.ChargingDetails; import com.ruoyi.order.dto.MyChargingOrderInfo; -import com.ruoyi.order.service.TChargingOrderService; +import com.ruoyi.order.mapper.TSettlementConfirmMapper; +import com.ruoyi.order.service.*; +import com.ruoyi.other.api.feignClient.IntegralRuleClient; +import com.ruoyi.other.api.feignClient.UserTagClient; +import com.ruoyi.other.api.feignClient.VipClient; +import com.ruoyi.payment.api.feignClient.AliPaymentClient; +import com.ruoyi.payment.api.feignClient.WxPaymentClient; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; import javax.annotation.Resource; import java.io.PrintWriter; +import java.math.BigDecimal; +import java.util.Arrays; @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = RuoYiOrderApplication.class) public class RuoYiOrderApplicationTests { @@ -16,10 +39,137 @@ @Resource private TChargingOrderService chargingOrderService; + @Resource + private ChargingGunClient chargingGunClient; + @Resource + private TSettlementConfirmMapper tSettlementConfirmMapper; + + @Resource + private SiteClient siteClient; + + @Resource + private AppUserCarClient appUserCarClient; + @Resource + private AppUserClient appUserClient; + + @Resource + private ChargingPileClient chargingPileClient; + + @Resource + private TChargingOrderAccountingStrategyService chargingOrderAccountingStrategyService; + + @Resource + private TokenService tokenService; + + @Resource + private WxPaymentClient wxPaymentClient; + + @Resource + private AliPaymentClient aliPaymentClient; + + @Resource + private AppCouponClient appCouponClient; + + @Resource + private AppUserVipDetailClient appUserVipDetailClient; + + @Resource + private RedisService redisService; + + @Resource + private UploadRealTimeMonitoringDataClient uploadRealTimeMonitoringDataClient; + + @Resource + private ChargingHandshakeClient chargingHandshakeClient; + + @Resource + private SendMessageClient sendMessageClient; + + @Resource + private TOrderEvaluateService orderEvaluateService; + + @Resource + private AccountingStrategyDetailClient accountingStrategyDetailClient; + + @Resource + private AccountingStrategyDetailOrderClient accountingStrategyDetailOrderClient; + + @Resource + private AccountingStrategyClient accountingStrategyClient; + + @Resource + private PlatformStartChargingReplyClient platformStartChargingReplyClient; + + @Resource + private TChargingOrderRefundService chargingOrderRefundService; + + @Resource + private PlatformStopChargingReplyClient platformStopChargingReplyClient; + + @Resource + private AccountingStrategyOrderService accountingStrategyOrderService; + + @Resource + private AccountingStrategyDetailOrderService accountingStrategyDetailOrderService; + + @Resource + private InviteUserClient inviteUserClient; + + @Resource + private AppUserIntegralChangeClient appUserIntegralChangeClient; + + @Resource + private IntegralRuleClient integralRuleClient; + + @Resource + private VipClient vipClient; + + @Resource + private UserTagClient userTagClient; + + @Resource + private AppUserTagClient appUserTagClient; + + @Resource + private SecurityDetectionClient securityDetectionClient; + @Test public void test(){ - MyChargingOrderInfo myChargingOrderInfo = chargingOrderService.getMyChargingOrderInfo("1846484071567437825"); - System.err.println(JSON.toJSONString(myChargingOrderInfo)); + Integer id = 75; + TChargingOrder one = chargingOrderService.getOne(new LambdaQueryWrapper<TChargingOrder>().eq(TChargingOrder::getAppUserId, 1839480334642704385L).eq(TChargingOrder::getChargingGunId, id) + .eq(TChargingOrder::getRechargePaymentStatus, 2).eq(TChargingOrder::getDelFlag, 0).orderByDesc(TChargingOrder::getStartTime).last(" limit 0, 1")); + ChargingDetails chargingDetails = new ChargingDetails(); + chargingDetails.setId(one.getId().toString()); + TChargingGun chargingGun = chargingGunClient.getChargingGunById(id).getData(); + TChargingPile chargingPile = chargingPileClient.getChargingPileById(chargingGun.getChargingPileId()).getData(); + Site site = siteClient.getSiteByIds(Arrays.asList(chargingPile.getSiteId())).getData().get(0); + chargingDetails.setName(site.getName() + "-" + chargingPile.getName()); + chargingDetails.setCode(one.getCode()); + chargingDetails.setStatus(one.getStatus()); + chargingDetails.setChargingCost(one.getResidualAmount()); + UploadRealTimeMonitoringData data = uploadRealTimeMonitoringDataClient.chargingOrderInfo(one.getCode()).getData(); + if(null != data){ + chargingDetails.setChargeCurrent(data.getOutput_current()); + chargingDetails.setChargeVoltage(data.getOutput_voltage()); + BigDecimal power = data.getOutput_current().multiply(data.getOutput_voltage()).divide(new BigDecimal(1000)); + chargingDetails.setChargePower(power); + chargingDetails.setCompletionRatio(data.getSoc()); + chargingDetails.setRemainingChargeTime(data.getTime_remaining()); + chargingDetails.setChargedDegrees(data.getCharging_degree()); + Integer h = Integer.valueOf(data.getCumulative_charging_time() / 60); + Integer m = Integer.valueOf(data.getCumulative_charging_time() % 60); + chargingDetails.setChargedTime(String.format("%02d", h) + ":" + String.format("%02d", m)); + } + ChargingHandshake chargingHandshake = chargingHandshakeClient.getDataByOrderCode(one.getCode()).getData(); + if(null != chargingHandshake && null != data && null != one.getAppUserCarId()){ + BigDecimal bms_battery_capacity = chargingHandshake.getBms_battery_capacity(); + TAppUserCar appUserCar = appUserCarClient.getCarByIds(Arrays.asList(one.getAppUserCarId())).getData().get(0); + // 续航 = 电池容量 / 续航里程 * soc + BigDecimal divide = bms_battery_capacity.divide(new BigDecimal(appUserCar.getEndurance())); + BigDecimal multiply = new BigDecimal(data.getSoc() / 100).multiply(divide); + chargingDetails.setEndurance(multiply); + } + System.err.println(JSON.toJSONString(chargingDetails)); } } diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TGoodsController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TGoodsController.java index f9cda01..e09a61f 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TGoodsController.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TGoodsController.java @@ -129,16 +129,22 @@ if (goodType==1){ TGoods byId = goodsService.getById(id); if (byId==null||byId.getStatus()==2){ - return R.fail(2,"内容不存在"); + return R.fail(2,"该商品已不存在"); } - return R.ok(byId);} +// List<Integer> data = orderClient.getSalesCountByGoodsId(String.valueOf(id)).getData(); +// for (int i = 0; i < list.size(); i++) { +// list.get(i).setSalesCount(data.get(i)); +// } + + return R.ok(byId); + } else { TCoupon byId = couponService.getById(id); if (byId==null||byId.getStatus()==2){ - return R.fail(2,"内容不存在"); + return R.fail(2,"该商品已不存在"); } - return R.ok(byId); - } + return R.ok(byId); + } } @@ -209,8 +215,10 @@ return AjaxResult.error("当前用户已兑换"+count+"张"); }else { //减少库存 - good.setInventory(good.getInventory()-exchangeDto.getNum()); - goodsService.updateById(good); + if (good.getInventory()!=-1) { + good.setInventory(good.getInventory() - exchangeDto.getNum()); + goodsService.updateById(good); + } } if (user.getPoints()<good.getRedeemPoints()){ return AjaxResult.error("当前用户积分不足"); @@ -226,8 +234,10 @@ if (coupon.getInventoryQuantity() != -1 && count >= coupon.getInventoryQuantity()) { return AjaxResult.error("当前用户已到达兑换"+coupon+"次"); }else { - coupon.setInventoryQuantity(coupon.getInventoryQuantity()-1); - couponService.updateById(coupon); + if (coupon.getInventoryQuantity()!=-1) { + coupon.setInventoryQuantity(coupon.getInventoryQuantity() - 1); + couponService.updateById(coupon); + } } diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TVipController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TVipController.java index d27cac8..af162fb 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TVipController.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TVipController.java @@ -309,7 +309,7 @@ switch (buyType){ case 1: if (byId.getMonthlyCardDiscountStart()!=null&&(now.isAfter(byId.getMonthlyCardDiscountStart())&&now.isBefore(byId.getMonthlyCardDiscountEnd()))){ - payMoney = byId.getMonthlyCard().multiply(byId.getMonthlyCardDiscount()); + payMoney = byId.getMonthlyCard().multiply(byId.getMonthlyCardDiscount().divide(new BigDecimal(10))); discountMoney = byId.getMonthlyCard().subtract(payMoney); discount = byId.getMonthlyCardDiscount(); }else { @@ -318,7 +318,7 @@ break; case 2: if (byId.getSeasonCardDiscountStart()!=null&&(now.isAfter(byId.getSeasonCardDiscountStart())&&now.isBefore(byId.getSeasonCardDiscountEnd()))){ - payMoney = byId.getSeasonCard().multiply(byId.getSeasonCardDiscount()); + payMoney = byId.getSeasonCard().multiply(byId.getSeasonCardDiscount().divide(new BigDecimal(10))); discountMoney = byId.getSeasonCard().subtract(payMoney); discount = byId.getSeasonCardDiscount(); }else { @@ -327,7 +327,7 @@ break; case 3: if (byId.getAnnualCardDiscountStart()!=null&&(now.isAfter(byId.getAnnualCardDiscountStart())&&now.isBefore(byId.getAnnualCardDiscountEnd()))){ - payMoney = byId.getAnnualCard().multiply(byId.getAnnualCardDiscount()); + payMoney = byId.getAnnualCard().multiply(byId.getAnnualCardDiscount().divide(new BigDecimal(10))); discountMoney = byId.getAnnualCard().subtract(payMoney); discount = byId.getAnnualCardDiscount(); }else { diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TGoodsServiceImpl.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TGoodsServiceImpl.java index b9f434d..7a58640 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TGoodsServiceImpl.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TGoodsServiceImpl.java @@ -83,10 +83,10 @@ // 订单号加上商品类型 String res = string+"-"+dto.getType(); -// List<Integer> data = orderClient.getSalesCountByGoodsId(res).getData(); -// for (int i = 0; i < list.size(); i++) { -// list.get(i).setSalesCount(data.get(i)); -// } + List<Integer> data = orderClient.getSalesCountByGoodsId(res).getData(); + for (int i = 0; i < list.size(); i++) { + list.get(i).setSalesCount(data.get(i)); + } pageInfo.setRecords(list); return pageInfo; } -- Gitblit v1.7.1