From d1d7df6417a76d481e654c96b2db34e4fbab88ea Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期四, 31 十月 2024 15:53:15 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/AppUserInfoDto.java | 3
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java | 52 +++++--
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderAppealController.java | 2
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/UploadRealTimeMonitoringDataFallbackFactory.java | 5
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/UploadRealTimeMonitoringDataService.java | 3
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java | 8 +
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java | 2
ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppCoupon.java | 3
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TInviteUserServiceImpl.java | 36 +++++
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java | 2
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyController.java | 5
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingLotController.java | 2
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/controller/UploadRealTimeMonitoringDataController.java | 7
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/PayOrderInfoDto.java | 1
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java | 14 +
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/UploadRealTimeMonitoringDataClient.java | 9 -
ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml | 42 ++++--
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/GiveVipUtil.java | 1
ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TAccountingStrategyMapper.xml | 2
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java | 28 +++
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java | 10 +
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/UploadRealTimeMonitoringDataServiceImpl.java | 36 +++++
ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TInviteUser.java | 2
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BaseModel.java | 4
ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TVipOrderMapper.xml | 2
ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/dto/MongoChargingOrderQuery.java | 4
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java | 5
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java | 40 +++++-
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/produce/ChargingMessageListener.java | 4
29 files changed, 253 insertions(+), 81 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 72db785..ce10ebb 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 HH:mm:ss", timezone = "GMT+8")
+ @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private LocalDateTime vipExpireTime;
@ApiModelProperty("当天是否签到")
private Integer isSign;
@@ -25,6 +25,7 @@
private Integer points;
@ApiModelProperty("当前优惠卷数量")
private Integer couponNum;
+ private Long vipCouponNum;
@ApiModelProperty("是否第一次添加车")
private Integer firstAdd;
@ApiModelProperty("当前绑定的车辆")
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 d51745e..2acc636 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
@@ -87,6 +87,9 @@
@TableField("coupon_json")
private String couponJson;
+ @TableField("detail_id")
+ private Long detailId;
+
}
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 79cae9d..be66883 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
@@ -52,6 +52,8 @@
private LocalDateTime createTime;
@TableField(exist = false)
private String avatar;
+ @TableField(exist = false)
+ private String name;
}
diff --git a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/UploadRealTimeMonitoringDataFallbackFactory.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/UploadRealTimeMonitoringDataFallbackFactory.java
index 5a46c09..e5298d0 100644
--- a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/UploadRealTimeMonitoringDataFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/UploadRealTimeMonitoringDataFallbackFactory.java
@@ -34,9 +34,10 @@
}
@Override
- public R<List<UploadRealTimeMonitoringData>> getOrderInfoByCodes(String orderId) {
+ public R<List<UploadRealTimeMonitoringData>> getOrderInfoByCodes(String ids) {
return R.fail("根据订单编号s获取所有监测数据失败:" + throwable.getMessage());
}
+
@Override
public R<List<UploadRealTimeMonitoringData>> getDataByOrderCode(String code) {
@@ -45,7 +46,7 @@
@Override
public R<UploadRealTimeMonitoringPageData> getAll(MongoChargingOrderQuery mongoChargingOrderQuery) {
- return null;
+ return R.fail("getAll:" + throwable.getMessage());
}
@Override
diff --git a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/UploadRealTimeMonitoringDataClient.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/UploadRealTimeMonitoringDataClient.java
index 5d89233..5d6df9f 100644
--- a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/UploadRealTimeMonitoringDataClient.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/UploadRealTimeMonitoringDataClient.java
@@ -7,9 +7,7 @@
import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
import com.ruoyi.integration.api.model.UploadRealTimeMonitoringPageData;
import org.springframework.cloud.openfeign.FeignClient;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Set;
@@ -31,11 +29,10 @@
/**
* 批量查询
- * @param orderId
* @return
*/
- @PostMapping(value = "/uploadRealTimeMonitoringData/getOrderInfoByCodes")
- public R<List<UploadRealTimeMonitoringData>> getOrderInfoByCodes(@RequestParam("orderId") String orderId);
+ @GetMapping(value = "/uploadRealTimeMonitoringData/getOrderInfoByCodes/{ids}")
+ public R<List<UploadRealTimeMonitoringData>> getOrderInfoByCodes(@PathVariable("ids") String ids);
/**
* 根据订单编号获取所有监测数据
* @param code
diff --git a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BaseModel.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BaseModel.java
index fe393ff..342055e 100644
--- a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BaseModel.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BaseModel.java
@@ -1,5 +1,6 @@
package com.ruoyi.integration.api.model;
+import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
@@ -10,7 +11,8 @@
*/
@Data
public class BaseModel {
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date last_time = new Date();
-
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date create_time = new Date();
}
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/dto/MongoChargingOrderQuery.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/dto/MongoChargingOrderQuery.java
index a96a982..f9b33fb 100644
--- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/dto/MongoChargingOrderQuery.java
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/dto/MongoChargingOrderQuery.java
@@ -25,9 +25,9 @@
@ApiModelProperty(value = "充电枪code ")
private String chargingGunCode;
@ApiModelProperty(value = "开始时间2020-01-01 00:00:00 - 2021-01-01 23:59:59")
- private String startTime;
+ private String createTime;
@ApiModelProperty(value = "结束时间2020-01-01 00:00:00 - 2021-01-01 23:59:59")
- private String endTime;
+ private String lastTime;
@ApiModelProperty(value = "订单来源 1明星 2快电 3新电途")
private Integer orderSource;
@ApiModelProperty(value = "用户ids 前端忽略")
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 6a9293c..3a6752e 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
@@ -5,6 +5,7 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -586,6 +587,8 @@
return R.ok();
}
+ @Resource
+ private TAppUserVipDetailService appUserVipDetailService;
@ApiOperation(value = "个人中心信息", tags = {"小程序-个人中心"})
@GetMapping(value = "/user/info")
@@ -602,12 +605,14 @@
if (byId.getVipEndTime()==null||byId.getVipEndTime().isBefore(LocalDateTime.now())){
appUserInfoDto.setIsVip(0);
}else {
+ TAppUserVipDetail one = appUserVipDetailService.getOne(new LambdaQueryWrapper<TAppUserVipDetail>()
+ .eq(TAppUserVipDetail::getAppUserId, userId)
+ .eq(TAppUserVipDetail::getVipId, byId.getVipId())
+ .last(" and now() between start_time and end_time"));
+ Long count = appCouponService.lambdaQuery().eq(TAppCoupon::getDetailId, one.getId()).count();
+ appUserInfoDto.setVipCouponNum(count);
appUserInfoDto.setIsVip(1);
appUserInfoDto.setVipExpireTime(byId.getVipEndTime());
-
-
-
-
@@ -770,6 +775,7 @@
for (TInviteUser record : page.getRecords()) {
TAppUser byId = appUserService.getById(record.getBeInvitedAppUserId());
record.setAvatar(byId.getAvatar());
+ record.setName(byId.getName());
}
return R.ok(page);
}
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TInviteUserServiceImpl.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TInviteUserServiceImpl.java
index 85ec054..692caa6 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TInviteUserServiceImpl.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TInviteUserServiceImpl.java
@@ -1,16 +1,26 @@
package com.ruoyi.account.service.impl;
+import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.account.api.feignClient.AppUserVipDetailClient;
+import com.ruoyi.account.api.model.TAppUser;
+import com.ruoyi.account.api.model.TAppUserVipDetail;
import com.ruoyi.account.api.model.TInviteUser;
+import com.ruoyi.account.api.vo.GetAppUserVipDetail;
import com.ruoyi.account.mapper.TInviteUserMapper;
+import com.ruoyi.account.service.TAppUserService;
import com.ruoyi.account.service.TInviteUserService;
+import com.ruoyi.common.core.domain.R;
import com.ruoyi.other.api.domain.TIntegralRule;
+import com.ruoyi.other.api.domain.TVip;
import com.ruoyi.other.api.feignClient.IntegralRuleClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
import java.time.LocalDateTime;
+import java.util.Objects;
/**
* <p>
@@ -25,9 +35,29 @@
@Autowired
private IntegralRuleClient integralRuleClient;
+ @Autowired
+ private TAppUserService appUserService;
+ @Resource
+ private AppUserVipDetailClient vipDetailClient;
+ /**
+ *
+ * @param appUserId 被邀请人
+ * @param beInvitedAppUserId 邀请人
+ */
@Override
public void saveInviteUser(Long appUserId, Long beInvitedAppUserId) {
+
+ // 查询用户信息
+ TAppUser user = appUserService.getById(beInvitedAppUserId);
+ GetAppUserVipDetail getAppUserVipDetail = new GetAppUserVipDetail();
+ getAppUserVipDetail.setAppUserId(beInvitedAppUserId);
+ getAppUserVipDetail.setVipId(user.getVipId());
+ R<TAppUserVipDetail> appUserVipDetail = vipDetailClient.getAppUserVipDetail(getAppUserVipDetail);
+ TAppUserVipDetail data1 = appUserVipDetail.getData();
+ String vipJson = data1.getVipJson();
+ TVip vip = JSON.parseObject(vipJson, TVip.class);
+
// 查询邀请用户获得积分配置
TIntegralRule integralRule = integralRuleClient.getSet().getData();
JSONObject jsonObject = JSONObject.parseObject(integralRule.getInviteUsersToEarnPoints());
@@ -35,7 +65,11 @@
inviteUser.setAppUserId(beInvitedAppUserId);
inviteUser.setBeInvitedAppUserId(appUserId);
inviteUser.setCreateTime(LocalDateTime.now());
- inviteUser.setAward(jsonObject.getInteger("num1"));
+ if(Objects.nonNull(vip) && vip.getDoubleIntegration() == 1){
+ inviteUser.setAward(jsonObject.getInteger("num1")*2);
+ }else {
+ inviteUser.setAward(jsonObject.getInteger("num1"));
+ }
this.save(inviteUser);
}
}
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/GiveVipUtil.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/GiveVipUtil.java
index 12dccfc..2e9bd75 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/GiveVipUtil.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/GiveVipUtil.java
@@ -77,6 +77,7 @@
tAppCoupon.setWaysToObtain(4);
tAppCoupon.setStatus(1);
tAppCoupon.setCouponJson(JSON.toJSONString(coupon));
+ tAppCoupon.setDetailId(tAppUserVipDetail.getId());
appCouponService.save(tAppCoupon);
}
}
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyController.java
index 562043a..0c6cab6 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyController.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyController.java
@@ -164,7 +164,10 @@
dto.setAuditStatus(1);
accountingStrategyService.updateById(dto);
// 添加明细
- dto.getAccountingStrategyDetails().forEach(detail -> detail.setAccountingStrategyId(dto.getId()));
+ dto.getAccountingStrategyDetails().forEach(detail -> {
+ detail.setAccountingStrategyId(dto.getId());
+ detail.setId(null);
+ });
accountingStrategyDetailService.saveBatch(dto.getAccountingStrategyDetails());
}else {
Long userId = SecurityUtils.getLoginUser().getUserid();
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingLotController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingLotController.java
index 3c8920c..7db9f8c 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingLotController.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingLotController.java
@@ -148,7 +148,7 @@
.eq(TParkingLot::getSiteId, siteId)));
}
- @PostMapping(value = "/getRecordById")
+ @GetMapping(value = "/getRecordById")
public R<TParkingRecord> getRecordById(@RequestParam("id") Long id){
return R.ok(parkingRecordService.getById(id));
}
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java
index 9a33506..3a4d301 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java
@@ -1,9 +1,13 @@
package com.ruoyi.chargingPile.service.impl;
+import com.alibaba.fastjson2.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.account.api.feignClient.AppUserClient;
+import com.ruoyi.account.api.feignClient.AppUserVipDetailClient;
import com.ruoyi.account.api.model.TAppUser;
+import com.ruoyi.account.api.model.TAppUserVipDetail;
+import com.ruoyi.account.api.vo.GetAppUserVipDetail;
import com.ruoyi.chargingPile.api.dto.GetSiteListDTO;
import com.ruoyi.chargingPile.api.model.Site;
import com.ruoyi.chargingPile.api.model.TChargingGun;
@@ -18,6 +22,7 @@
import com.ruoyi.chargingPile.domain.SiteMenu;
import com.ruoyi.chargingPile.mapper.SiteMapper;
import com.ruoyi.chargingPile.service.*;
+import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.ServletUtils;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.core.web.domain.AjaxResult;
@@ -80,7 +85,8 @@
@Resource
private IntegrationClient integrationClient;
-
+ @Resource
+ private AppUserVipDetailClient vipDetailClient;
/**
@@ -88,6 +94,7 @@
* @param siteList
* @return
*/
+
@Override
public PageInfo<GetSiteListDTO> getSiteList(GetSiteList siteList) {
Set<Integer> ids = null;
@@ -95,12 +102,15 @@
SysUser sysUser = sysUserClient.getSysUser(SecurityUtils.getUserId()).getData();
Integer roleType = sysUser.getRoleType();
Integer objectId = sysUser.getObjectId();
+ R<Integer> admin = sysUserClient.isAdmin(SecurityUtils.getUserId());
//合作商
if(roleType == 2){
ids = partnerService.authSite(objectId, SiteMenu.SITE_LIST);
}else{
//非管理员需要根据角色和用户配置查询允许的站点数据
- if(!SecurityUtils.isAdmin(SecurityUtils.getUserId())){
+ //改用roleId=1来判断
+ if(admin.getData()!=1){
+// if(!SecurityUtils.isAdmin(SecurityUtils.getUserId())){
List<Integer> data = userSiteClient.getSiteIds(sysUser.getUserId()).getData();
List<SysUserRoleVo> data2 = sysUserRoleClient.getRoleByUserId(sysUser.getUserId()).getData();
if(data2.size() > 0){
@@ -134,12 +144,14 @@
SysUser sysUser = sysUserClient.getSysUser(userId).getData();
Integer roleType = sysUser.getRoleType();
Integer objectId = sysUser.getObjectId();
+ R<Integer> admin = sysUserClient.isAdmin(SecurityUtils.getUserId());
+
//合作商
if(roleType == 2){
ids = partnerService.authSite(objectId, SiteMenu.SITE_LIST);
}else{
//非管理员需要根据角色和用户配置查询允许的站点数据
- if(!SecurityUtils.isAdmin(SecurityUtils.getUserId())){
+ if(admin.getData()!=1){
List<Integer> data = userSiteClient.getSiteIds(sysUser.getUserId()).getData();
List<SysUserRoleVo> data2 = sysUserRoleClient.getRoleByUserId(sysUser.getUserId()).getData();
List<Integer> data1 = roleSiteClient.getSiteIds(data2.get(0).getRoleId()).getData();
@@ -280,9 +292,9 @@
@Override
public PageInfo<SiteVO> pageList(SiteQuery query,Integer isLogin) {
TAppUser appUser = null;
+ // 获取当前登录用户id
+ Long userId = tokenService.getLoginUserApplet().getUserId();
if(isLogin == 1){
- // 获取当前登录用户id
- Long userId = tokenService.getLoginUserApplet().getUserId();
// 根据id查询用户信息
appUser = appUserClient.getUserById(userId).getData();
}
@@ -290,7 +302,14 @@
List<SiteVO> list = this.baseMapper.pageList(query,pageInfo);
if(Objects.nonNull(appUser) && Objects.nonNull(appUser.getVipId())){
// 查询会员信息
- TVip vip = vipClient.getInfo1(appUser.getVipId()).getData();
+// TVip vip = vipClient.getInfo1(appUser.getVipId()).getData();
+ GetAppUserVipDetail getAppUserVipDetail = new GetAppUserVipDetail();
+ getAppUserVipDetail.setAppUserId(userId);
+ getAppUserVipDetail.setVipId(appUser.getVipId());
+ R<TAppUserVipDetail> appUserVipDetail = vipDetailClient.getAppUserVipDetail(getAppUserVipDetail);
+ TAppUserVipDetail data1 = appUserVipDetail.getData();
+ String vipJson = data1.getVipJson();
+ TVip vip = JSON.parseObject(vipJson, TVip.class);
if(Objects.nonNull(vip) && vip.getType() == 2){
list.forEach(item -> {
if(Objects.nonNull(vip.getDiscount())){
@@ -380,7 +399,14 @@
List<SiteVO> list = this.baseMapper.getMapSiteList(query);
if(Objects.nonNull(appUser) && Objects.nonNull(appUser.getVipId())){
// 查询会员信息
- TVip vip = vipClient.getInfo1(appUser.getVipId()).getData();
+// TVip vip = vipClient.getInfo1(appUser.getVipId()).getData();
+ GetAppUserVipDetail getAppUserVipDetail = new GetAppUserVipDetail();
+ getAppUserVipDetail.setAppUserId(userId);
+ getAppUserVipDetail.setVipId(appUser.getVipId());
+ R<TAppUserVipDetail> appUserVipDetail = vipDetailClient.getAppUserVipDetail(getAppUserVipDetail);
+ TAppUserVipDetail data1 = appUserVipDetail.getData();
+ String vipJson = data1.getVipJson();
+ TVip vip = JSON.parseObject(vipJson, TVip.class);
if(Objects.nonNull(vip) && vip.getType() == 2){
list.forEach(item -> {
item.setVipElectrovalence(vip.getDiscount().divide(new BigDecimal(10)).multiply(item.getServiceCharge()).add(item.getElectrovalenceOriginal()));
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 3c8051d..f7019e4 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
@@ -482,13 +482,14 @@
Set<Integer> siteIds = new HashSet<>();
if(0 == query.getSiteId()){
SysUser sysUser = sysUserClient.getSysUser(SecurityUtils.getUserId()).getData();
+ R<Integer> admin = sysUserClient.isAdmin(SecurityUtils.getUserId());
Integer roleType = sysUser.getRoleType();
Integer objectId = sysUser.getObjectId();
if(2 == roleType){
siteIds = partnerService.authSite(objectId, SiteMenu.SITE_LIST);
}else{
//非管理员需要根据角色和用户配置查询允许的站点数据
- if(!SecurityUtils.isAdmin(SecurityUtils.getUserId())){
+ if(admin.getData()!=1){
List<Integer> data = userSiteClient.getSiteIds(sysUser.getUserId()).getData();
List<SysUserRoleVo> data2 = sysUserRoleClient.getRoleByUserId(sysUser.getUserId()).getData();
List<Integer> data1 = roleSiteClient.getSiteIds(data2.get(0).getRoleId()).getData();
@@ -600,7 +601,7 @@
chargingGunService.updateById(chargingGun1);
//桩处于正常,桩所属的枪都处于非正常,修改桩状态为异常
- TChargingPile chargingPile = this.getById(chargingGun1.getChargingPileId());
+ TChargingPile chargingPile = this.getById(chargingGun.getChargingPileId());
List<TChargingGun> list1 = chargingGunService.list(new LambdaQueryWrapper<TChargingGun>().eq(TChargingGun::getChargingPileId, chargingPile.getId()).eq(TChargingGun::getDelFlag, 0));
int size = list1.stream().filter(s -> s.getStatus() == 1 || s.getStatus() == 7).collect(Collectors.toList()).size();
if(chargingPile.getStatus() == 1 && list1.size() == size){
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TAccountingStrategyMapper.xml b/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TAccountingStrategyMapper.xml
index c9b1ea5..34cc583 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TAccountingStrategyMapper.xml
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TAccountingStrategyMapper.xml
@@ -57,7 +57,7 @@
</if>
AND site_id IS NULL
AND (parent_id IS NULL OR audit_status = 1 OR audit_status = 2)
- AND del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()}
+
</where>
ORDER BY create_time DESC
</select>
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 f1271ae..1fa5baf 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
@@ -43,13 +43,12 @@
/**
* 批量查询
- * @param orderId
* @return
*/
- @PostMapping(value = "/getOrderInfoByCodes")
- public R<List<UploadRealTimeMonitoringData>> getOrderInfoByCodes(@RequestParam("orderId") String orderId){
+ @GetMapping(value = "/getOrderInfoByCodes/{ids}")
+ public R<List<UploadRealTimeMonitoringData>> getOrderInfoByCodes(@PathVariable("ids") String ids){
List<UploadRealTimeMonitoringData> res = new ArrayList<>();
- for (String s : orderId.split(",")) {
+ for (String s : ids.split(",")) {
List<UploadRealTimeMonitoringData> dataByOrderCode = uploadRealTimeMonitoringDataService.getDataByOrderCode(s);
if(dataByOrderCode.size() > 0){
UploadRealTimeMonitoringData uploadRealTimeMonitoringData = dataByOrderCode.get(0);
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/UploadRealTimeMonitoringDataService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/UploadRealTimeMonitoringDataService.java
index 2463e5e..ed002bf 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/UploadRealTimeMonitoringDataService.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/UploadRealTimeMonitoringDataService.java
@@ -6,6 +6,7 @@
import com.ruoyi.common.core.dto.MongoChargingOrderQuery;
import java.text.ParseException;
+import java.util.Date;
import java.util.List;
public interface UploadRealTimeMonitoringDataService extends BaseService<UploadRealTimeMonitoringData> {
@@ -26,4 +27,6 @@
UploadRealTimeMonitoringData getLastDataById(String transaction_serial_number);
void delete(String id);
+
+ void updateById(String id);
}
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 c23a6a6..529427e 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
@@ -8,12 +8,14 @@
import com.ruoyi.integration.mongodb.service.UploadRealTimeMonitoringDataService;
import com.ruoyi.common.core.dto.MongoChargingOrderQuery;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.data.mongodb.core.query.Update;
import org.springframework.stereotype.Service;
import java.text.ParseException;
@@ -68,7 +70,7 @@
// query.addCriteria(Criteria.where("transaction_serial_number").in(values));
// }
if (mongoChargingOrderQuery.getCode() != null && !mongoChargingOrderQuery.getCode().isEmpty()) {
- query.addCriteria(Criteria.where("transaction_serial_number").regex(mongoChargingOrderQuery.getCode(), "i")); // "i" 表示不区分大小写
+ query.addCriteria(Criteria.where("transaction_serial_number").regex(mongoChargingOrderQuery.getCode(),"i")); // "i" 表示不区分大小写
}
if (mongoChargingOrderQuery.getOrderType() !=null){
query.addCriteria(Criteria.where("orderType").is(mongoChargingOrderQuery.getOrderType()));
@@ -112,17 +114,31 @@
long totalElements = mongoTemplate.count(query, UploadRealTimeMonitoringData.class);
- // 设置分页
- Pageable pageable = PageRequest.of(mongoChargingOrderQuery.getPageCurr(), mongoChargingOrderQuery.getPageSize());
+
+ // 创建带有排序的 Pageable 对象
+ Pageable pageable = PageRequest.of(
+ mongoChargingOrderQuery.getPageCurr()-1,
+ mongoChargingOrderQuery.getPageSize(),
+ Sort.by(Sort.Direction.DESC, "create_time")
+ );
+
+ // 设置分页和排序
query.with(pageable);
- query.with(Sort.by(Sort.Direction.DESC,"create_time"));
+
+ // 执行查询并获取 Page 对象
+ List<UploadRealTimeMonitoringData> page = mongoTemplate.find(query, UploadRealTimeMonitoringData.class,"upload_real_time_monitoring_data");
+
+ // 设置分页
+// Pageable pageable = PageRequest.of(mongoChargingOrderQuery.getPageSize()*(mongoChargingOrderQuery.getPageCurr()-1), mongoChargingOrderQuery.getPageSize());
+// query.with(pageable);
+// query.with(Sort.by(Sort.Direction.DESC,"create_time"));
List<UploadRealTimeMonitoringData> uploadRealTimeMonitoringData = mongoTemplate.find(
query
, UploadRealTimeMonitoringData.class);
UploadRealTimeMonitoringPageData uploadRealTimeMonitoringPageData = new UploadRealTimeMonitoringPageData();
uploadRealTimeMonitoringPageData.setCount(totalElements);
- uploadRealTimeMonitoringPageData.setRecords(uploadRealTimeMonitoringData);
+ uploadRealTimeMonitoringPageData.setRecords(page);
return uploadRealTimeMonitoringPageData;
}
@@ -145,4 +161,14 @@
mongoTemplate.remove(byId);
}
+ @Override
+ public void updateById(String id) {
+ // 创建查询条件
+ Query query = new Query(Criteria.where("_id").is(id));
+ // 创建更新对象
+ Update update = new Update().set("last_time", new Date());
+ // 执行更新操作
+ mongoTemplate.updateFirst(query, update, UploadRealTimeMonitoringData.class);
+ }
+
}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/produce/ChargingMessageListener.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/produce/ChargingMessageListener.java
index 0ba5a50..4a4cb95 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/produce/ChargingMessageListener.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/produce/ChargingMessageListener.java
@@ -201,7 +201,7 @@
uploadRealTimeMonitoringData.setElectrovalence_all(accountingStrategyDetail.getElectrovalence());
uploadRealTimeMonitoringData.setService_charge(accountingStrategyDetail.getServiceCharge());
if (Objects.nonNull(data)) {
- data.setLast_time(new Date());
+ uploadRealTimeMonitoringDataService.updateById(data.getId());
uploadRealTimeMonitoringData.setPeriod_electric_price(uploadRealTimeMonitoringDataMessage.getPaid_amount().subtract(data.getPaid_amount()));
uploadRealTimeMonitoringData.setPeriod_charging_degree(uploadRealTimeMonitoringDataMessage.getCharging_degree().subtract(data.getCharging_degree()));
uploadRealTimeMonitoringData.setPeriod_service_price(uploadRealTimeMonitoringDataMessage.getCharging_degree().multiply(accountingStrategyDetail.getServiceCharge()).setScale(4, RoundingMode.HALF_UP));
@@ -337,7 +337,7 @@
// 添加实时上传记录结束记录
// 查询mogondb上一条数据
UploadRealTimeMonitoringData data = uploadRealTimeMonitoringDataService.getLastDataById(transactionRecordMessage.getTransaction_serial_number());
- if(Objects.nonNull(data)){
+ if(Objects.nonNull(data) && data.getStatus() != 5){
UploadRealTimeMonitoringData uploadRealTimeMonitoringData = new UploadRealTimeMonitoringData();
BeanUtils.copyProperties(data,uploadRealTimeMonitoringData);
uploadRealTimeMonitoringData.setStatus(5);
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 ed45896..e3ab58d 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
@@ -196,6 +196,7 @@
payOrderInfoDto.setPayAmount(byId.getPaymentAmount());
payOrderInfoDto.setPayTime(byId.getCreateTime());
payOrderInfoDto.setRefundAmount(byId.getRefundAmount());
+ payOrderInfoDto.setRechargeAmount(byId.getRechargeAmount());
return R.ok(payOrderInfoDto);
case 2:
TShoppingOrder byId1 = shoppingOrderService.getById(orderId);
@@ -207,6 +208,7 @@
payOrderInfoDto1.setPayAmount(byId1.getPaymentAmount());
payOrderInfoDto1.setPayTime(byId1.getCreateTime());
payOrderInfoDto1.setRefundAmount(byId1.getRefundAmount());
+ payOrderInfoDto1.setRechargeAmount(byId1.getPaymentAmount());
return R.ok(payOrderInfoDto1);
case 3:
TVipOrder byId2 = vipOrderService.getById(orderId);
@@ -218,6 +220,7 @@
payOrderInfoDto2.setPayAmount(byId2.getPaymentAmount());
payOrderInfoDto2.setPayTime(byId2.getCreateTime());
payOrderInfoDto2.setRefundAmount(byId2.getRefundAmount());
+ payOrderInfoDto2.setRechargeAmount(byId2.getPaymentAmount());
return R.ok(payOrderInfoDto2);
//todo luo 停车场订单
// case 4:
@@ -366,14 +369,14 @@
List<TChargingOrderAccountingStrategy> list = chargingOrderAccountingStrategyService.lambdaQuery().eq(TChargingOrderAccountingStrategy::getChargingOrderId, strategyId).orderByDesc(TChargingOrderAccountingStrategy::getStartTime).list();
for (TChargingOrderAccountingStrategy tChargingOrderAccountingStrategy : list) {
- if (byId.getVipDiscountAmount()!=null){
+ if (byId.getVipDiscountAmount()!=null && byId.getServiceCharge().compareTo(BigDecimal.ZERO) != 0){
BigDecimal multiply = byId.getVipDiscountAmount().divide(byId.getServiceCharge(), 2)
.multiply(tChargingOrderAccountingStrategy.getPeriodOriginalServicePrice());
tChargingOrderAccountingStrategy.setVipDiscount(multiply);
}
bigDecimal = bigDecimal.add(tChargingOrderAccountingStrategy.getPeriodOriginalServicePrice());
- if (byId.getCouponDiscountAmount()!=null){
+ if (byId.getCouponDiscountAmount()!=null && byId.getServiceCharge().compareTo(BigDecimal.ZERO) != 0){
BigDecimal multiply = byId.getCouponDiscountAmount().divide(byId.getServiceCharge(), 2)
.multiply(tChargingOrderAccountingStrategy.getPeriodOriginalServicePrice());
tChargingOrderAccountingStrategy.setCouponDiscount(multiply);
@@ -775,6 +778,9 @@
LocalDate sixBefore = PreviousSixMonths.get();
Map<String,Object> map = chargingOrderService.countAll(sixBefore);
BigDecimal data = parkingLotClient.getRecordAmount(sixBefore).getData();
+ if (map ==null){
+ map = new HashMap<String,Object>();
+ }
map.put("parkingAmount",data);
BigDecimal data1 = shoppingOrderService.getSumAmount(sixBefore);
map.put("shopAmount",data1);
@@ -794,7 +800,8 @@
public R watchChargingOrder(@RequestBody MongoChargingOrderQuery mongoChargingOrderQuery) {
mongoChargingOrderQuery.setPageSize(10);
- UploadRealTimeMonitoringPageData data1 = uploadRealTimeMonitoringDataClient.getAll(mongoChargingOrderQuery).getData();
+ R<UploadRealTimeMonitoringPageData> all = uploadRealTimeMonitoringDataClient.getAll(mongoChargingOrderQuery);
+ UploadRealTimeMonitoringPageData data1 = all.getData();
List<ChargingOrderAndUploadRealTimeMonitoringDataDto> dtos = new ArrayList<>();
Map<String,ChargingOrderVO> map = new HashMap<>();
@@ -1255,8 +1262,19 @@
//车辆用途
List<Map<String, Object>> carMap = chargingOrderService.carUserMethod();
+
//车辆品牌
List<Map<String, Object>> carBrandMap = chargingOrderService.carUserBrand();
+ List<String> brands = new ArrayList<>();
+ for (Map<String, Object> objectMap : carBrandMap) {
+ brands.add(objectMap.get("vehicle_brand").toString());
+ }
+
+ Long count = chargingOrderService.countCar(brands);
+ Map<String, Object> others = new HashMap<>();
+ others.put("vehicle_brand","其他");
+ others.put("counts",count);
+ carBrandMap.add(others);
//本地车数量
Map<String,Object> localCarMap = chargingOrderService.countLocalCar();
@@ -1319,7 +1337,7 @@
@ApiOperation(value = "电站评价", tags = {"管理后台-数据分析-设备运维分析"})
public R<TCharingUserEquimentVO> equipment(@RequestBody ChargingStatisticsQueryDto statisticsQueryDto){
List<Integer> siteIds =new ArrayList<>();
- if (statisticsQueryDto.getSiteId()==null) {
+ if (statisticsQueryDto.getSiteId()==null||statisticsQueryDto.getSiteId()==0) {
Long userId = SecurityUtils.getUserId();
//获取当前登录的siteIds
List<GetSiteListDTO> data = siteClient.getSiteListByUserId(userId).getData();
@@ -1679,7 +1697,7 @@
Long userId = tokenService.getLoginUserApplet().getUserId();
List<TChargingOrder> list = chargingOrderService.list(Wrappers.lambdaQuery(TChargingOrder.class)
.eq(TChargingOrder::getAppUserId, userId)
- .eq(TChargingOrder::getStatus, 3));
+ .in(TChargingOrder::getStatus, Arrays.asList(1,2,3,4)));
List<Integer> gunIds = list.stream().map(TChargingOrder::getChargingGunId).collect(Collectors.toList());
return R.ok(gunIds);
}
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 96f71ec..0322582 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
@@ -65,7 +65,7 @@
.like(manageOrderAppealQuery.getPhone() != null, TOrderAppeal::getPhone, manageOrderAppealQuery.getPhone())
.eq(manageOrderAppealQuery.getOrderType() != null, TOrderAppeal::getOrderType, manageOrderAppealQuery.getOrderType())
.in(TOrderAppeal::getOrderType, 1, 2)
- .orderByDesc(TOrderAppeal::getFeedbackTime)
+ .orderByDesc(TOrderAppeal::getCreateTime)
.page(Page.of(manageOrderAppealQuery.getPageCurr(), manageOrderAppealQuery.getPageSize()));
for (TOrderAppeal record : page.getRecords()) {
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/PayOrderInfoDto.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/PayOrderInfoDto.java
index 880dca7..ae3424d 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/PayOrderInfoDto.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/PayOrderInfoDto.java
@@ -24,6 +24,7 @@
private LocalDateTime payTime;
@ApiModelProperty("退款金额")
private BigDecimal refundAmount;
+ private BigDecimal rechargeAmount;
}
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java
index f5d173a..ee99d41 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java
@@ -139,4 +139,6 @@
List<Map<String, Object>> needElec1(@Param("siteIds")List<Integer> siteIds,@Param("statisticsQueryDto") ChargingStatisticsQueryDto statisticsQueryDto);
Long countNoTag();
+
+ Long countCar(@Param("brands") List<String> brands);
}
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java
index 57b0caa..c6ed1b2 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java
@@ -277,4 +277,6 @@
* @return
*/
List<TChargingOrder> getChargingOrder(TChargingOrderVo order);
+
+ Long countCar(List<String> brands);
}
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 9d59216..bb69665 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
@@ -91,6 +91,7 @@
chargingBillVO.setOrderCount(list1.size());
BigDecimal paymentAmountTotal = new BigDecimal("0");
BigDecimal orderAmountTotal = new BigDecimal("0");
+ BigDecimal refundAmountTotal = new BigDecimal("0");
BigDecimal electrovalenceTotal = new BigDecimal("0");
BigDecimal serviceChargeTotal = new BigDecimal("0");
BigDecimal commissionAmountTotal = new BigDecimal("0");
@@ -364,6 +365,7 @@
}else if (tChargingOrder.getPaymentAmount()!=null){
paymentAmountTotal = paymentAmountTotal.add(tChargingOrder.getPaymentAmount());
}
+
// 累加订单金额
if (tChargingOrder.getOrderAmount()!=null){
orderAmountTotal = orderAmountTotal.add(tChargingOrder.getOrderAmount());
@@ -372,8 +374,10 @@
if (tChargingOrder.getElectrovalence()!=null){
electrovalenceTotal = electrovalenceTotal.add(tChargingOrder.getElectrovalence());
}
- if (tChargingOrder.getRefundAmount()!=null && tChargingOrder.getRefundStatus()!=null&& tChargingOrder.getRefundStatus()==2){
- refundAmount = refundAmount.add(tChargingOrder.getRefundAmount());
+ List<TChargingOrderRefund> list2 = chargingOrderRefundService.lambdaQuery().eq(TChargingOrderRefund::getChargingOrderId, tChargingOrder.getId())
+ .eq(TChargingOrderRefund::getRefundStatus, 2).list();
+ for (TChargingOrderRefund tChargingOrderRefund : list2) {
+ refundAmountTotal =refundAmountTotal.add(tChargingOrder.getRefundAmount());
}
// 累加累计服务费
if (tChargingOrder.getServiceCharge()!=null){
@@ -410,7 +414,7 @@
chargingBillVO.setCommissionAmount(commissionAmountTotal.setScale(2, RoundingMode.HALF_DOWN));
chargingBillVO.setSharingAmount(sharingAmountTotal.setScale(2, RoundingMode.HALF_DOWN));
chargingBillVO.setDiscount(discountTotal);
-
+ chargingBillVO.setRefundAmount(refundAmountTotal);
pageInfo.setRecords(list);
chargingBillVO.setList(pageInfo);
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 2fdbf77..7619236 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
@@ -256,11 +256,13 @@
myChargingOrderInfo.setChargeMode(chargingGun.getChargeMode());
String name = chargingGunClient.getAllName(chargingOrder.getChargingGunId()).getData();
myChargingOrderInfo.setName(name);
- if(null != chargingOrder.getAppUserCarId()){
- TAppUserCar tAppUserCar = appUserCarClient.getCarByIds(Arrays.asList(chargingOrder.getAppUserCarId())).getData().get(0);
- myChargingOrderInfo.setLicensePlate(tAppUserCar.getLicensePlate());
- }else{
- myChargingOrderInfo.setLicensePlate("无");
+ if(Objects.nonNull(chargingOrder.getAppUserCarId())){
+ TAppUserCar tAppUserCar = appUserCarClient.getCarById(chargingOrder.getAppUserCarId().toString()).getData();
+ if(null != tAppUserCar){
+ myChargingOrderInfo.setLicensePlate(tAppUserCar.getLicensePlate());
+ }else{
+ myChargingOrderInfo.setLicensePlate("无");
+ }
}
myChargingOrderInfo.setStartTime(chargingOrder.getStartTime().atZone(ZoneId.systemDefault()).toInstant().getEpochSecond() * 1000);
myChargingOrderInfo.setEndTime(chargingOrder.getEndTime().atZone(ZoneId.systemDefault()).toInstant().getEpochSecond() * 1000);
@@ -687,9 +689,6 @@
String key = "AQJC_" + chargingOrder.getChargingGunId();
List<PlatformStartChargingReply> data = platformStartChargingReplyClient.getPlatformStartChargingReply(code).getData();
log.error(code + ":-------------------开始检查调起充电结果-------------------" + data.toString());
- if(null == data || data.size() == 0){
- return false;
- }
if(data.size() != 0){
PlatformStartChargingReply platformStartChargingReply = data.get(1);
Integer startup_result = platformStartChargingReply.getStartup_result();
@@ -738,7 +737,7 @@
counter = (null == counter ? 0 : counter) + 1;
boot_failed_map.put(code, counter);
//启动失败
- preChargeCheck1.setStartupSuccess(3);
+ preChargeCheck1.setStartupSuccess(1);
preChargeCheck1.setFailureCause(0);
redisService.setCacheObject(key, preChargeCheck1, 24L, TimeUnit.HOURS);
return false;
@@ -2243,6 +2242,9 @@
if (tChargingOrder.getPaymentAmount().compareTo(payOrderQueryDto.getRefundAmount())==-1){
return R.fail("退款金额需小于支付金额");
}
+ if ((tChargingOrder.getRechargeAmount().subtract(payOrderQueryDto.getRefundAmount()).compareTo(tChargingOrder.getPaymentAmount()))==0){
+ tChargingOrder.setStatus(5);
+ }
TChargingOrderRefund chargingOrderRefund = new TChargingOrderRefund();
@@ -2309,6 +2311,10 @@
if (tChargingOrder.getPaymentAmount().compareTo(payOrderQueryDto.getRefundAmount())==-1){
return R.fail("退款金额需小于支付金额");
}
+ if ((tChargingOrder.getPaymentAmount().subtract(payOrderQueryDto.getRefundAmount()).compareTo(tChargingOrder.getPaymentAmount()))==0){
+ tChargingOrder.setStatus(5);
+ }
+
TShoppingOrderRefund chargingOrderRefund = new TShoppingOrderRefund();
chargingOrderRefund.setShoppingOrderId(tChargingOrder.getId());
chargingOrderRefund.setRefundAmount(payOrderQueryDto.getRefundAmount());
@@ -2359,9 +2365,7 @@
tChargingOrder.setRefundStatus(2);
tChargingOrder.setRefundAmount((tChargingOrder.getRefundAmount()==null? BigDecimal.valueOf(0) :tChargingOrder.getRefundAmount()).add(payOrderQueryDto.getRefundAmount()));
- if (payOrderQueryDto.getRefundAmount().compareTo(tChargingOrder.getPaymentAmount())==0){
- tChargingOrder.setStatus(5);
- }
+
shoppingOrderService.updateById(tChargingOrder);
shoppingOrderRefundService.save(chargingOrderRefund);
@@ -2376,6 +2380,8 @@
if (tChargingOrder.getPaymentAmount().compareTo(payOrderQueryDto.getRefundAmount())==-1){
return R.fail("退款金额需小于支付金额");
}
+
+
TVipOrderRefund chargingOrderRefund = new TVipOrderRefund();
chargingOrderRefund.setVipOrderId(tChargingOrder.getId());
chargingOrderRefund.setRefundAmount(payOrderQueryDto.getRefundAmount());
@@ -2588,7 +2594,7 @@
tSettlementConfirm.setRemark(dto.getRemark());
tSettlementConfirm.setServicePartner(dto.getServicePartner());
tSettlementConfirm.setServiceMoney(dto.getServiceMoney());
- BigDecimal subtract = new BigDecimal("1").subtract(dto.getProportionPartner());
+ BigDecimal subtract = new BigDecimal("1").subtract(dto.getProportionPartner().multiply(new BigDecimal("0.01")));
// 总电损费用
BigDecimal divide = tSettlementConfirm.getProportionMoney().divide(subtract, 2, RoundingMode.HALF_DOWN);
// 平台承担电损
@@ -2750,10 +2756,17 @@
}
// 充电总时长
- Long temp = 0L;
+ Long temp = 1L;
if (StringUtils.hasLength(stringBuilder.toString())){
- List<UploadRealTimeMonitoringData> data6 = uploadRealTimeMonitoringDataClient.getOrderInfoByCodes(stringBuilder.substring(0,stringBuilder.length()-1)).getData();
- temp+=(data6.stream().mapToLong(UploadRealTimeMonitoringData::getCumulative_charging_time).sum()*60);
+ String substring = stringBuilder.substring(0, stringBuilder.length() - 1);
+ for (String s : substring.split(",")) {
+ UploadRealTimeMonitoringData data6 = uploadRealTimeMonitoringDataClient.chargingOrderInfo(s).getData();
+ if (data6!=null){
+ temp+=(data6.getCumulative_charging_time()*60);
+
+ }
+
+ }
}
List<TChargingPile> data = siteClient.getPileListBySiteId(tSettlementConfirm.getSiteId()).getData();
// 计算充电桩的功率平均值
@@ -2793,7 +2806,7 @@
if (tSettlementConfirm.getSiteId().equals(settlementConfirm.getSiteId())){
// 电站相同比较收入涨幅跌幅
if (tSettlementConfirm.getIncome().compareTo(BigDecimal.ZERO)>0){
- BigDecimal subtract = tSettlementConfirm.getIncome().subtract(settlementConfirm.getIncome()).divide(tSettlementConfirm.getIncome()).setScale(2, RoundingMode.HALF_DOWN).multiply(new BigDecimal("100"));
+ BigDecimal subtract = tSettlementConfirm.getIncome().subtract(settlementConfirm.getIncome()).divide(tSettlementConfirm.getIncome(),2, RoundingMode.HALF_DOWN).multiply(new BigDecimal("100"));
tSettlementConfirm.setIncomePercentage(subtract+"%");
}else {
tSettlementConfirm.setIncomePercentage("100"+"%");
@@ -2999,4 +3012,9 @@
}
return this.list(queryWrapper.orderByDesc(TChargingOrder::getCreateTime));
}
+
+ @Override
+ public Long countCar(List<String> brands) {
+ return this.baseMapper.countCar(brands);
+ }
}
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 f25778c..5716b77 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
@@ -187,7 +187,15 @@
break;
}
}
+
+ List<Long> appUserIds = list.stream().map(TActivityStatisticslVO::getAppUserId).collect(Collectors.toList());
+ List<TAppUser> appUsers = appUserClient.getUserByIds(appUserIds).getData();
+
for (TActivityStatisticslVO tActivityStatisticslVO : list) {
+ TAppUser appUser = appUsers.stream().filter(user -> user.getId().equals(tActivityStatisticslVO.getAppUserId())).findFirst().orElse(null);
+ if(Objects.nonNull(appUser)){
+ tActivityStatisticslVO.setPhone(appUser.getPhone());
+ }
// 判断享有了哪些类型
switch (tActivityStatisticslVO.getOrderType()){
case 1:
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 232d838..f126021 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
@@ -121,12 +121,12 @@
title,
`status`,
order_amount,
- order_amount as payment_amount ,
+ payment_amount as payment_amount ,
create_time,
end_time,
pay_time,
refund_status,
- (order_amount) as final_amount,
+ (recharge_amount-refund_amount) as final_amount,
del_flag,
app_user_id
FROM
@@ -372,7 +372,7 @@
</select>
<select id="countAll" resultType="java.util.Map">
- select sum(electrovalence) as electrovalence,sum(service_charge) as service_charge,ROUND(sum(electrovalence+service_charge) * 0.0006, 2) as commission_amount,sum(sharing_amount) as sharing_amount
+ select sum(electrovalence) as electrovalence,sum(service_charge) as service_charge,ROUND(sum(electrovalence+service_charge) * 0.006, 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>
@@ -398,7 +398,7 @@
<select id="getDateData" resultType="java.util.Map">
SELECT
DATE_FORMAT( create_time, '%H:00' ) as time,
- CAST(SUM(service_charge-coupon_discount_amount) AS DECIMAL(20, 6)) as servicecharge,
+ CAST(SUM(service_charge) AS DECIMAL(20, 6)) as servicecharge,
CAST(SUM(charging_capacity) AS DECIMAL(20, 6)) as electrovalence,
CAST(SUM(electrovalence) AS DECIMAL(20, 4)) AS paymentAmount,
SUM(payment_amount) AS paymoney,
@@ -423,7 +423,7 @@
<select id="getWeekData" resultType="java.util.Map">
SELECT
DATE_FORMAT( create_time, '%Y-%m-%d' ) as time,
- SUM(service_charge-coupon_discount_amount) as servicecharge,
+ SUM(service_charge) as servicecharge,
SUM(charging_capacity) as electrovalence,
SUM(electrovalence) AS paymentAmount,
SUM(payment_amount) AS paymoney,
@@ -448,7 +448,7 @@
<select id="getMonthData" resultType="java.util.Map">
SELECT
DATE_FORMAT( create_time, '%Y-%m-%d' ) as time,
- SUM(service_charge-coupon_discount_amount) as servicecharge,
+ SUM(service_charge) as servicecharge,
SUM(charging_capacity) as electrovalence,
SUM(electrovalence) AS paymentAmount,
SUM(payment_amount) AS paymoney,
@@ -473,7 +473,7 @@
<select id="getYearData" resultType="java.util.Map">
SELECT
DATE_FORMAT( create_time, '%Y-%m-%d' ) as time,
- SUM(service_charge-coupon_discount_amount) as servicecharge,
+ SUM(service_charge) as servicecharge,
SUM(charging_capacity) as electrovalence,
SUM(electrovalence) AS paymentAmount,
SUM(payment_amount) AS paymoney,
@@ -500,7 +500,7 @@
<select id="getByDate" resultType="java.util.Map">
SELECT
DATE_FORMAT( create_time, '%Y-%m-%d' ) as time,
- SUM(service_charge-coupon_discount_amount) as servicecharge,
+ SUM(service_charge) as servicecharge,
SUM(charging_capacity) as electrovalence,
SUM(electrovalence) AS paymentAmount,
SUM(payment_amount) AS paymoney,
@@ -629,14 +629,12 @@
SELECT
'today' AS data_type,
'1' as type,
- DATE_FORMAT( create_time, '%Y-%m-%d %H' ) AS time,
+ DATE_FORMAT( create_time, '%H:00' ) AS time,
count(DISTINCT app_user_id) AS counts
FROM
t_charging_order
WHERE
del_flag = 0
- AND recharge_payment_status = 2
- AND ISNULL( refund_status )
AND DATE ( create_time ) = CURDATE()
GROUP BY
time
@@ -972,7 +970,7 @@
`charging_pile_order`.`t_charging_order` co
LEFT JOIN `charging_pile_service`.`t_charging_gun` tc on co.charging_gun_id = tc.id
LEFT JOIN `charging_pile_service`.`t_charging_pile` cp on tc.charging_pile_id = cp.id
- WHERE
+ WHERE co.del_flag = 0 and
co.start_time IS NOT NULL AND co.end_time IS NOT NULL and tc.type = 4
<if test="siteIds != null and siteIds.size() > 0">
and co.site_id IN
@@ -1032,7 +1030,7 @@
`charging_pile_order`.`t_charging_order` co
LEFT JOIN `charging_pile_service`.`t_charging_gun` tc on co.charging_gun_id = tc.id
LEFT JOIN `charging_pile_service`.`t_charging_pile` cp on tc.charging_pile_id = cp.id
- WHERE
+ WHERE co.del_flag = 0 and
co.start_time IS NOT NULL AND co.end_time IS NOT NULL and tc.type in (2,3)
<if test="siteIds != null and siteIds.size() > 0">
and co.site_id IN
@@ -1254,7 +1252,7 @@
`charging_pile_service`.`t_fault_message` co
LEFT JOIN `charging_pile_service`.`t_charging_pile` cp on co.charging_pile_id = cp.id
WHERE
- co.down_time IS NOT NULL AND co.end_time IS NOT NULL and cp.type = 1 and co.status =1
+ co.down_time IS NOT NULL AND co.end_time IS NOT NULL and cp.type = 2 and co.status =1
<if test="siteIds != null and siteIds.size() > 0">
and co.site_id IN
<foreach collection="siteIds" item="siteId" open="(" separator="," close=")">
@@ -1448,6 +1446,13 @@
<if test="statisticsQueryDto.dayType == 1">
AND DATE( create_time ) between #{statisticsQueryDto.startTime} and #{statisticsQueryDto.endTime}
</if>
+
+ <if test="siteIds != null and siteIds.size() > 0">
+ and site_id IN
+ <foreach collection="siteIds" item="siteId" open="(" separator="," close=")">
+ #{siteId}
+ </foreach>
+ </if>
GROUP BY
time
ORDER BY
@@ -1533,4 +1538,13 @@
) and au.del_flag = 0
</select>
+ <select id="countCar" resultType="java.lang.Long">
+ select count(1)
+ from
+ charging_pile_account.t_app_user_car
+ where del_flag = 0 and vehicle_brand not in
+ <foreach collection="brands" item="brand" open="(" separator="," close=")">
+ #{brand}
+ </foreach>
+ </select>
</mapper>
diff --git a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TVipOrderMapper.xml b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TVipOrderMapper.xml
index 8c13bc7..b8f42ed 100644
--- a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TVipOrderMapper.xml
+++ b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TVipOrderMapper.xml
@@ -78,7 +78,7 @@
</select>
<select id="getSumAmout" resultType="java.math.BigDecimal">
SELECT
- SUM(payment_amount) AS paymentAmount
+ SUM(payment_amount-refund_amount) AS paymentAmount
FROM
t_vip_order
WHERE
--
Gitblit v1.7.1