From 3ad1d4f7e9ef5cb12fbe60a84bd9d99828e33cab Mon Sep 17 00:00:00 2001 From: andy <1042025947@qq.com> Date: Fri, 18 Apr 2025 18:58:22 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E5=A4=84=E7=90=86bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hd/cloud/mqtt/config/MqttConnectInit.java | 4 ++-- .../impl/OrderSwapBatteryServiceImpl.java | 3 +-- .../hd/cloud/service/rpc/WechatService.java | 2 +- .../wechat/controller/SwapOrderController.java | 17 +++++------------ 4 files changed, 9 insertions(+), 17 deletions(-) diff --git a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/mqtt/config/MqttConnectInit.java b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/mqtt/config/MqttConnectInit.java index b63eaa3..e7a57fa 100644 --- a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/mqtt/config/MqttConnectInit.java +++ b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/mqtt/config/MqttConnectInit.java @@ -12,14 +12,14 @@ import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence; import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; import java.net.InetAddress; import java.net.UnknownHostException; import java.util.Date; import java.util.concurrent.ConcurrentHashMap; - -//@Component +@Component @Order(value = 20) @Slf4j public class MqttConnectInit implements ApplicationRunner { diff --git a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/impl/OrderSwapBatteryServiceImpl.java b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/impl/OrderSwapBatteryServiceImpl.java index 68f3720..d181e04 100644 --- a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/impl/OrderSwapBatteryServiceImpl.java +++ b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/impl/OrderSwapBatteryServiceImpl.java @@ -53,7 +53,6 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Date; import java.util.List; -import java.util.stream.Collectors; @Slf4j @Service @@ -255,7 +254,7 @@ public class OrderSwapBatteryServiceImpl implements OrderSwapBatteryService { .le(plsor.getOrderTimeEnd() != null, OrderSwapBattery::getOrderTime, plsor.getOrderTimeEnd()) .eq(StringUtils.hasText(plsor.getStationCode()), OrderSwapBattery::getStationCode, plsor.getStationCode()) .like(StringUtils.hasText(plsor.getStationName()), OrderSwapBattery::getStationName, plsor.getStationName()) - .eq(StringUtils.hasText(plsor.getUserId()), OrderSwapBattery::getOrderPreId, plsor.getUserId()) + .eq(StringUtils.hasText(plsor.getUserId()), OrderSwapBattery::getOrderPreUid, plsor.getUserId()) .eq(StringUtils.hasText(plsor.getTradeNo()), OrderSwapBattery::getTradeNo, plsor.getTradeNo()) .ne(OrderSwapBattery::getDelFlag, 1) .orderByDesc(OrderSwapBattery::getPkId)); diff --git a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/rpc/WechatService.java b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/rpc/WechatService.java index ad10c14..dd32d8d 100644 --- a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/rpc/WechatService.java +++ b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/rpc/WechatService.java @@ -14,7 +14,7 @@ import com.evotech.hd.common.core.entity.cloud.OrderSwapBattery; import com.evotech.hd.common.core.entity.cloud.OrderSwapBatteryPre; import com.evotech.hd.common.core.entity.cloud.TradeDetail; -@FeignClient(name = "${WECHAT-SERVER-API-NAME}", path = "${RESOURCE-SERVER-API-PATH}") +@FeignClient(name = "${WECHAT-SERVER-API-NAME}", path = "${WECHAT-SERVER-API-PATH}") public interface WechatService { @GetMapping(value = "/xcx/qrcode/get2", diff --git a/wechat-server/src/main/java/com/evotech/hd/wechat/controller/SwapOrderController.java b/wechat-server/src/main/java/com/evotech/hd/wechat/controller/SwapOrderController.java index 1428f9d..7eee735 100644 --- a/wechat-server/src/main/java/com/evotech/hd/wechat/controller/SwapOrderController.java +++ b/wechat-server/src/main/java/com/evotech/hd/wechat/controller/SwapOrderController.java @@ -1,32 +1,25 @@ package com.evotech.hd.wechat.controller; -import java.util.List; - - -import com.evotech.hd.common.core.entity.cloud.request.BatterySwapResponse; -import org.springdoc.core.annotations.ParameterObject; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - import com.evotech.hd.common.core.entity.Result; import com.evotech.hd.common.core.entity.cloud.OrderSwapBattery; import com.evotech.hd.common.core.entity.cloud.OrderSwapBatteryPre; import com.evotech.hd.common.core.entity.cloud.OrderSwapBatteryStep; +import com.evotech.hd.common.core.entity.cloud.request.BatterySwapResponse; import com.evotech.hd.common.core.entity.cloud.request.PageListSwapOrderPreRequest; import com.evotech.hd.common.core.entity.cloud.request.PageListSwapOrderRequest; import com.evotech.hd.wechat.service.OrderService; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.github.xiaoymin.knife4j.annotations.ApiSupport; - import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.annotation.Resource; import jakarta.validation.Valid; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; +import org.springdoc.core.annotations.ParameterObject; +import org.springframework.web.bind.annotation.*; + +import java.util.List; @Tag(name = "换电订单") @ApiSupport(order = 17) From 9b5b0bdb4164b4ac11915ed7f42b56f61293c896 Mon Sep 17 00:00:00 2001 From: andy <1042025947@qq.com> Date: Sat, 19 Apr 2025 08:51:08 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E5=A4=84=E7=90=86=E5=BE=AE=E4=BF=A1?= =?UTF-8?q?=E5=B0=8F=E7=A8=8B=E5=BA=8F=E6=9F=A5=E4=B8=8D=E5=88=B0=E9=A2=84?= =?UTF-8?q?=E7=BA=A6=E5=8D=95=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/OrderSwapBatteryServiceImpl.java | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/impl/OrderSwapBatteryServiceImpl.java b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/impl/OrderSwapBatteryServiceImpl.java index d181e04..49d2314 100644 --- a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/impl/OrderSwapBatteryServiceImpl.java +++ b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/impl/OrderSwapBatteryServiceImpl.java @@ -40,8 +40,6 @@ import com.evotech.hd.common.core.utils.CommonUtil; import com.evotech.hd.common.redis.utils.RedisUtil; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.time.DateFormatUtils; -import org.apache.commons.lang3.time.DateUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.StringUtils; @@ -181,10 +179,10 @@ public class OrderSwapBatteryServiceImpl implements OrderSwapBatteryService { .eq(plsopr.getStatus() != null, OrderSwapBatteryPre::getStatus, plsopr.getStatus()) .eq(StringUtils.hasText(plsopr.getPlateNum()), OrderSwapBatteryPre::getPlateNum, plsopr.getPlateNum()) .eq(StringUtils.hasText(plsopr.getStationCode()), OrderSwapBatteryPre::getStationCode, plsopr.getStationCode()) - .apply(StringUtils.hasText(plsopr.getSwapDayBegin()), "DATE_FORMAT(swap_day,'%Y-%m-%d') >={0}", DateFormatUtils.format(DateUtils.parseDate(plsopr.getSwapDayBegin(),"yyyyMMdd","yyyy-MM-dd"), "yyyy-MM-dd")) - .apply(StringUtils.hasText(plsopr.getSwapDayEnd()), "DATE_FORMAT(swap_day,'%Y-%m-%d') <={0}", DateFormatUtils.format(DateUtils.parseDate(plsopr.getSwapDayEnd(),"yyyyMMdd","yyyy-MM-dd"), "yyyy-MM-dd")) -// .ge(StringUtils.hasText(plsopr.getSwapDayBegin()), OrderSwapBatteryPre::getSwapDay, plsopr.getSwapDayBegin()) -// .le(StringUtils.hasText(plsopr.getSwapDayEnd()), OrderSwapBatteryPre::getSwapDay, plsopr.getSwapDayEnd()) +// .apply(StringUtils.hasText(plsopr.getSwapDayBegin()), "DATE_FORMAT(swap_day,'%Y-%m-%d') >={0}", DateFormatUtils.format(DateUtils.parseDate(plsopr.getSwapDayBegin(),"yyyyMMdd","yyyy-MM-dd"), "yyyy-MM-dd")) +// .apply(StringUtils.hasText(plsopr.getSwapDayEnd()), "DATE_FORMAT(swap_day,'%Y-%m-%d') <={0}", DateFormatUtils.format(DateUtils.parseDate(plsopr.getSwapDayEnd(),"yyyyMMdd","yyyy-MM-dd"), "yyyy-MM-dd")) + .ge(StringUtils.hasText(plsopr.getSwapDayBegin()), OrderSwapBatteryPre::getSwapDay, plsopr.getSwapDayBegin()) + .le(StringUtils.hasText(plsopr.getSwapDayEnd()), OrderSwapBatteryPre::getSwapDay, plsopr.getSwapDayEnd()) .orderByDesc(OrderSwapBatteryPre::getPkId)); if (page.getRecords().isEmpty()) { return new Result>().error(CodeMsg.DATABASE_RESULT_NULL); From 54141790ce79a31de2de5d79a93369fc766744e9 Mon Sep 17 00:00:00 2001 From: andy <1042025947@qq.com> Date: Sat, 19 Apr 2025 10:25:42 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E8=A7=92=E8=89=B2=E8=A1=A8=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E4=B8=9A=E5=8A=A1code=E5=AD=97=E6=AE=B5,=20=E7=94=A8?= =?UTF-8?q?=E4=BA=8E=E5=8C=BA=E5=88=86=E6=95=B0=E6=8D=AE=E6=9D=A5=E6=BA=90?= =?UTF-8?q?=20=E8=B4=A6=E5=8F=B7=E7=AE=A1=E7=90=86=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E8=BF=94=E5=9B=9E=E6=8E=A5=E5=8F=A3=E6=96=B0=E5=A2=9E=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=9D=A5=E6=BA=90=E4=BF=A1=E6=81=AF=20=E8=A7=92?= =?UTF-8?q?=E8=89=B2=E7=AE=A1=E7=90=86=E5=88=97=E8=A1=A8=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E6=B4=97=E6=BE=A1=E8=83=BD=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=9D=A5=E6=BA=90=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/entity/resource/auth/AuthRole.java | 12 ++++--- .../core/entity/resource/auth/AuthUser.java | 2 ++ .../customer/CompanyController.java | 4 +++ .../hd/cloud/mqtt/config/MqttConnectInit.java | 3 +- .../hd/cloud/service/CompanyService.java | 2 ++ .../service/impl/CompanyServiceImpl.java | 5 +++ .../service/impl/AuthUserServiceImpl.java | 34 ++++++++++++++++++- .../service/impl/RoleServiceImpl.java | 34 ++++++++++++++++++- .../hd/resource/service/rpc/CloudService.java | 3 ++ .../main/resources/mapper/AuthRoleMapper.xml | 1 + .../wechat/service/impl/OrderServiceImpl.java | 19 +++++------ .../service/impl/WechatUserServiceImpl.java | 14 ++++---- 12 files changed, 108 insertions(+), 25 deletions(-) diff --git a/base-commons/common-core/src/main/java/com/evotech/hd/common/core/entity/resource/auth/AuthRole.java b/base-commons/common-core/src/main/java/com/evotech/hd/common/core/entity/resource/auth/AuthRole.java index 0b47fb3..bded704 100644 --- a/base-commons/common-core/src/main/java/com/evotech/hd/common/core/entity/resource/auth/AuthRole.java +++ b/base-commons/common-core/src/main/java/com/evotech/hd/common/core/entity/resource/auth/AuthRole.java @@ -1,15 +1,13 @@ package com.evotech.hd.common.core.entity.resource.auth; -import com.baomidou.mybatisplus.annotation.*; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; import com.evotech.hd.common.core.entity.BaseEntity; -import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Getter; import lombok.Setter; -import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; -import java.util.Date; /** * @author zrb @@ -40,4 +38,10 @@ public class AuthRole extends BaseEntity implements Serializable { @Schema(description = "是否内置角色,内置角色不允许修改") private Integer readonly; + + @Schema(description = "业务code, 如果是开发者创建, 则为空") + private String businessCode; + + @TableField(exist = false) + private String businessName; } diff --git a/base-commons/common-core/src/main/java/com/evotech/hd/common/core/entity/resource/auth/AuthUser.java b/base-commons/common-core/src/main/java/com/evotech/hd/common/core/entity/resource/auth/AuthUser.java index dbd0e34..c9be65b 100644 --- a/base-commons/common-core/src/main/java/com/evotech/hd/common/core/entity/resource/auth/AuthUser.java +++ b/base-commons/common-core/src/main/java/com/evotech/hd/common/core/entity/resource/auth/AuthUser.java @@ -40,6 +40,8 @@ public class AuthUser extends BaseEntity implements Serializable { @Schema(description = "业务code, 即公司类型,为公司统一社会信息代码, 运营商类型为运营商统一社会信用代码", hidden = true) private String businessCode; + @TableField(exist = false) + private String businessName; @Schema(description = "关联方代码") private String typeRelateCode; diff --git a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/controller/customer/CompanyController.java b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/controller/customer/CompanyController.java index 17b34a3..bfba3a9 100644 --- a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/controller/customer/CompanyController.java +++ b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/controller/customer/CompanyController.java @@ -67,5 +67,9 @@ public class CompanyController { return companyService.loginOne(code); } + @GetMapping("/resource/list") + public BaseResponse> resourceList() { + return companyService.resourceList(); + } } diff --git a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/mqtt/config/MqttConnectInit.java b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/mqtt/config/MqttConnectInit.java index e7a57fa..14998bf 100644 --- a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/mqtt/config/MqttConnectInit.java +++ b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/mqtt/config/MqttConnectInit.java @@ -12,14 +12,13 @@ import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence; import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; import org.springframework.core.annotation.Order; -import org.springframework.stereotype.Component; import java.net.InetAddress; import java.net.UnknownHostException; import java.util.Date; import java.util.concurrent.ConcurrentHashMap; -@Component +//@Component @Order(value = 20) @Slf4j public class MqttConnectInit implements ApplicationRunner { diff --git a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/CompanyService.java b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/CompanyService.java index 245d0bb..7c0f460 100644 --- a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/CompanyService.java +++ b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/CompanyService.java @@ -21,4 +21,6 @@ public interface CompanyService { public Result> companyByCode(String ccode); public BaseResponse loginOne(String code); + + public BaseResponse> resourceList(); } diff --git a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/impl/CompanyServiceImpl.java b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/impl/CompanyServiceImpl.java index 4d782e4..b3b47df 100644 --- a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/impl/CompanyServiceImpl.java +++ b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/impl/CompanyServiceImpl.java @@ -84,4 +84,9 @@ public class CompanyServiceImpl implements CompanyService { return new BaseResponse().success(companyDao.selectOne(new LambdaQueryWrapper().eq(Company::getCcode, code))); } + @Override + public BaseResponse> resourceList() { + return new BaseResponse>().success(companyDao.selectList(new LambdaQueryWrapper().select(Company::getCcode, Company::getCname))); + } + } diff --git a/resource-server/src/main/java/com/evotech/hd/resource/service/impl/AuthUserServiceImpl.java b/resource-server/src/main/java/com/evotech/hd/resource/service/impl/AuthUserServiceImpl.java index 2b622cd..3bcdfe9 100644 --- a/resource-server/src/main/java/com/evotech/hd/resource/service/impl/AuthUserServiceImpl.java +++ b/resource-server/src/main/java/com/evotech/hd/resource/service/impl/AuthUserServiceImpl.java @@ -1,20 +1,25 @@ package com.evotech.hd.resource.service.impl; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.evotech.hd.common.core.Dto.BaseResponse; +import com.evotech.hd.common.core.dao.resource.ProxyOperaterDao; import com.evotech.hd.common.core.dao.resource.auth.AuthUserDao; import com.evotech.hd.common.core.dao.resource.auth.AuthUserRoleDao; import com.evotech.hd.common.core.dao.resource.auth.AuthUserStationDao; import com.evotech.hd.common.core.entity.Result; import com.evotech.hd.common.core.entity.cloud.BatteryStation; +import com.evotech.hd.common.core.entity.cloud.Company; +import com.evotech.hd.common.core.entity.resource.ProxyOperater; import com.evotech.hd.common.core.entity.resource.auth.AuthUser; import com.evotech.hd.common.core.entity.resource.auth.AuthUserRole; import com.evotech.hd.common.core.entity.resource.auth.AuthUserStation; import com.evotech.hd.common.core.enums.CodeMsg; import com.evotech.hd.common.core.utils.SnowflakeUtil; +import com.evotech.hd.common.permission.util.RedisPermissionUtils; import com.evotech.hd.resource.entity.request.ListUserRequest; import com.evotech.hd.resource.service.AuthUserService; import com.evotech.hd.resource.service.rpc.CloudService; @@ -28,6 +33,7 @@ import org.springframework.util.StringUtils; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; @Service @@ -40,6 +46,8 @@ public class AuthUserServiceImpl implements AuthUserService { @Resource private AuthUserStationDao authUserStationDao; @Resource + private ProxyOperaterDao proxyOperaterDao; + @Resource private CloudService cloudService; @@ -68,7 +76,16 @@ public class AuthUserServiceImpl implements AuthUserService { Date d = new Date(); u.setCtime(d); u.setStatus(1); - u.setPasswordExpireTime(DateUtil.offsetMonth(d, 12)); + u.setPasswordExpireTime(DateUtil.offsetMonth(d, 12)) + ; + AuthUser user = RedisPermissionUtils.getUser(); + if(BeanUtil.isNotEmpty(user)){ + //如果不是开发者, 将当前登录用户所属的公司给角色 + if(!Integer.valueOf(1).equals(user.getType())){ + user.setBusinessCode(user.getBusinessCode()); + } + } + int n = userDao.insert(u); if (n == 1) { return new Result().success(n); @@ -112,6 +129,21 @@ public class AuthUserServiceImpl implements AuthUserService { if (page.getRecords().isEmpty()) { return new Result>().error(CodeMsg.DATABASE_RESULT_NULL); } + + Map businessNames = proxyOperaterDao.selectList(new LambdaQueryWrapper().select(ProxyOperater::getPocode, ProxyOperater::getPoname)).stream().collect(Collectors.toMap(ProxyOperater::getPocode, ProxyOperater::getPoname, (k1, k2)->k1)); + BaseResponse> companyResult = cloudService.resourceCompanyList(); + if(CodeMsg.SUCCESS.getCode().equals(companyResult.getCode())){ + businessNames.putAll(companyResult.getData().stream().collect(Collectors.toMap(Company::getCcode, Company::getCname, (k1,k2)->k1))); + } + page.getRecords().stream().forEach(user ->{ + if(StringUtils.hasText(user.getBusinessCode())){ + user.setBusinessName(businessNames.get(user.getBusinessCode())); + }else{ + user.setBusinessName("系统管理员"); + } + }); + + return new Result>().success(page); } diff --git a/resource-server/src/main/java/com/evotech/hd/resource/service/impl/RoleServiceImpl.java b/resource-server/src/main/java/com/evotech/hd/resource/service/impl/RoleServiceImpl.java index 13619b9..0460abe 100644 --- a/resource-server/src/main/java/com/evotech/hd/resource/service/impl/RoleServiceImpl.java +++ b/resource-server/src/main/java/com/evotech/hd/resource/service/impl/RoleServiceImpl.java @@ -1,22 +1,30 @@ package com.evotech.hd.resource.service.impl; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.nacos.common.utils.CollectionUtils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.evotech.hd.common.core.Dto.BaseResponse; import com.evotech.hd.common.core.constant.HDConstant; +import com.evotech.hd.common.core.dao.resource.ProxyOperaterDao; import com.evotech.hd.common.core.dao.resource.auth.AuthRoleDao; import com.evotech.hd.common.core.dao.resource.auth.AuthRoleResourceDao; import com.evotech.hd.common.core.dao.resource.auth.AuthUserRoleDao; import com.evotech.hd.common.core.entity.Result; +import com.evotech.hd.common.core.entity.cloud.Company; +import com.evotech.hd.common.core.entity.resource.ProxyOperater; import com.evotech.hd.common.core.entity.resource.auth.AuthRole; import com.evotech.hd.common.core.entity.resource.auth.AuthRoleResource; +import com.evotech.hd.common.core.entity.resource.auth.AuthUser; import com.evotech.hd.common.core.entity.resource.auth.AuthUserRole; import com.evotech.hd.common.core.entity.resource.dict.Dict; import com.evotech.hd.common.core.enums.CodeMsg; +import com.evotech.hd.common.permission.util.RedisPermissionUtils; import com.evotech.hd.resource.entity.request.DelAddRoleSourceRequest; import com.evotech.hd.resource.service.DictService; import com.evotech.hd.resource.service.RoleService; +import com.evotech.hd.resource.service.rpc.CloudService; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.apache.ibatis.executor.BatchResult; @@ -39,10 +47,21 @@ public class RoleServiceImpl implements RoleService { private AuthUserRoleDao authUserRoleDao; @Resource private DictService dictService; - + @Resource + private ProxyOperaterDao proxyOperaterDao; + @Resource + private CloudService cloudService; + @Override public Result add(AuthRole r) { r.setCtime(new Date()); + AuthUser user = RedisPermissionUtils.getUser(); + if(BeanUtil.isNotEmpty(user)){ + //如果不是开发者, 将当前登录用户所属的公司给角色 + if(!Integer.valueOf(1).equals(user.getType())){ + r.setBusinessCode(user.getBusinessCode()); + } + } int n = authRoleDao.insert(r); if (n == 1) { try { @@ -118,6 +137,19 @@ public class RoleServiceImpl implements RoleService { if (roleList.isEmpty()) { return new Result>().error(CodeMsg.DATABASE_RESULT_NULL); } + Map businessNames = proxyOperaterDao.selectList(new LambdaQueryWrapper().select(ProxyOperater::getPocode, ProxyOperater::getPoname)).stream().collect(Collectors.toMap(ProxyOperater::getPocode, ProxyOperater::getPoname, (k1,k2)->k1)); + BaseResponse> companyResult = cloudService.resourceCompanyList(); + if(CodeMsg.SUCCESS.getCode().equals(companyResult.getCode())){ + businessNames.putAll(companyResult.getData().stream().collect(Collectors.toMap(Company::getCcode, Company::getCname, (k1,k2)->k1))); + } + roleList.stream().forEach(role ->{ + if(StringUtils.hasText(role.getBusinessCode())){ + role.setBusinessName(businessNames.get(role.getBusinessCode())); + }else{ + role.setBusinessName("系统管理员"); + } + }); + return new Result>().success(roleList); } diff --git a/resource-server/src/main/java/com/evotech/hd/resource/service/rpc/CloudService.java b/resource-server/src/main/java/com/evotech/hd/resource/service/rpc/CloudService.java index c5a6f3b..566d1a7 100644 --- a/resource-server/src/main/java/com/evotech/hd/resource/service/rpc/CloudService.java +++ b/resource-server/src/main/java/com/evotech/hd/resource/service/rpc/CloudService.java @@ -2,6 +2,7 @@ package com.evotech.hd.resource.service.rpc; import com.evotech.hd.common.core.Dto.BaseResponse; import com.evotech.hd.common.core.entity.cloud.BatteryStation; +import com.evotech.hd.common.core.entity.cloud.Company; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.GetMapping; @@ -16,4 +17,6 @@ public interface CloudService { consumes = {MediaType.APPLICATION_FORM_URLENCODED_VALUE}) public BaseResponse> resourceList(String pkIds); + @GetMapping(value = "/company/resource/list", consumes = {MediaType.APPLICATION_FORM_URLENCODED_VALUE}) + public BaseResponse> resourceCompanyList(); } diff --git a/resource-server/src/main/resources/mapper/AuthRoleMapper.xml b/resource-server/src/main/resources/mapper/AuthRoleMapper.xml index 903e963..9a318c4 100644 --- a/resource-server/src/main/resources/mapper/AuthRoleMapper.xml +++ b/resource-server/src/main/resources/mapper/AuthRoleMapper.xml @@ -11,6 +11,7 @@ + diff --git a/wechat-server/src/main/java/com/evotech/hd/wechat/service/impl/OrderServiceImpl.java b/wechat-server/src/main/java/com/evotech/hd/wechat/service/impl/OrderServiceImpl.java index badb56f..ea2e59f 100644 --- a/wechat-server/src/main/java/com/evotech/hd/wechat/service/impl/OrderServiceImpl.java +++ b/wechat-server/src/main/java/com/evotech/hd/wechat/service/impl/OrderServiceImpl.java @@ -1,29 +1,27 @@ package com.evotech.hd.wechat.service.impl; -import java.util.List; -import java.util.Optional; - - -import com.evotech.hd.common.core.entity.cloud.request.BatterySwapResponse; -import org.springframework.stereotype.Service; -import org.springframework.util.StringUtils; - import com.evotech.hd.common.core.constant.HDConstant; import com.evotech.hd.common.core.entity.Result; import com.evotech.hd.common.core.entity.cloud.OrderSwapBattery; import com.evotech.hd.common.core.entity.cloud.OrderSwapBatteryPre; import com.evotech.hd.common.core.entity.cloud.OrderSwapBatteryStep; +import com.evotech.hd.common.core.entity.cloud.request.BatterySwapResponse; import com.evotech.hd.common.core.entity.cloud.request.PageListSwapOrderPreRequest; import com.evotech.hd.common.core.entity.cloud.request.PageListSwapOrderRequest; import com.evotech.hd.wechat.service.OrderService; import com.evotech.hd.wechat.service.rpc.CloudService; - import jakarta.annotation.Resource; import jakarta.servlet.http.HttpServletRequest; -import org.springframework.web.bind.annotation.RequestParam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; + +import java.util.List; +import java.util.Optional; @Service +@Slf4j public class OrderServiceImpl implements OrderService { @Resource @@ -68,6 +66,7 @@ public class OrderServiceImpl implements OrderService { public Result walletPay(String orderNo, String wuid, String uname) { if (!wuid.equals(request.getHeader(HDConstant.WECHAT_SERVER_AUTHORIZATION_KEY))) { + log.error("当前参数的wuid:{}=== 请求中的wuid:{}", wuid, request.getHeader(HDConstant.WECHAT_SERVER_AUTHORIZATION_KEY)); return new Result().error("账号错误"); } return cloudService.walletPay(orderNo, wuid, uname); diff --git a/wechat-server/src/main/java/com/evotech/hd/wechat/service/impl/WechatUserServiceImpl.java b/wechat-server/src/main/java/com/evotech/hd/wechat/service/impl/WechatUserServiceImpl.java index b828321..75fd905 100644 --- a/wechat-server/src/main/java/com/evotech/hd/wechat/service/impl/WechatUserServiceImpl.java +++ b/wechat-server/src/main/java/com/evotech/hd/wechat/service/impl/WechatUserServiceImpl.java @@ -1,10 +1,6 @@ package com.evotech.hd.wechat.service.impl; -import java.nio.file.WatchService; -import java.util.List; - -import org.springframework.stereotype.Service; - +import cn.hutool.core.util.DesensitizedUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.evotech.hd.common.core.constant.HDConstant; import com.evotech.hd.common.core.dao.wechat.WechatUserDao; @@ -17,13 +13,16 @@ import com.evotech.hd.common.core.entity.wechat.WechatUser; import com.evotech.hd.common.core.enums.CodeMsg; import com.evotech.hd.wechat.service.WechatUserService; import com.evotech.hd.wechat.service.rpc.CloudService; - -import cn.hutool.core.util.DesensitizedUtil; import jakarta.annotation.Resource; import jakarta.servlet.http.HttpServletRequest; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import java.util.List; @Service +@Slf4j public class WechatUserServiceImpl implements WechatUserService { @Resource @@ -88,6 +87,7 @@ public class WechatUserServiceImpl implements WechatUserService { @Override public Result> listWallet(String wuid, HttpServletRequest request) { if (wuid == null || !wuid.equals(request.getHeader(HDConstant.WECHAT_SERVER_AUTHORIZATION_KEY))) { + log.error("当前参数的wuid:{}=== 请求中的wuid:{}", wuid, request.getHeader(HDConstant.WECHAT_SERVER_AUTHORIZATION_KEY)); return new Result>().error("账号错误"); } From 2eeeab2fcaefba4451ff79e26efbfa8f0ece369e Mon Sep 17 00:00:00 2001 From: lhb <495598773@qq.com> Date: Sat, 19 Apr 2025 13:37:52 +0800 Subject: [PATCH 4/4] =?UTF-8?q?fix:=E5=85=85=E5=80=BC=E6=98=8E=E7=BB=86?= =?UTF-8?q?=E5=85=B3=E8=81=94=E8=AE=A2=E5=8D=95=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hd/common/core/entity/cloud/WalletAccountDetail.java | 8 ++++++++ .../cloud/service/impl/OrderSwapBatteryServiceImpl.java | 4 ++++ 2 files changed, 12 insertions(+) diff --git a/base-commons/common-core/src/main/java/com/evotech/hd/common/core/entity/cloud/WalletAccountDetail.java b/base-commons/common-core/src/main/java/com/evotech/hd/common/core/entity/cloud/WalletAccountDetail.java index 9ee12a1..1fb779c 100644 --- a/base-commons/common-core/src/main/java/com/evotech/hd/common/core/entity/cloud/WalletAccountDetail.java +++ b/base-commons/common-core/src/main/java/com/evotech/hd/common/core/entity/cloud/WalletAccountDetail.java @@ -74,4 +74,12 @@ public class WalletAccountDetail extends BaseEntity implements Serializable { @Schema(description = "交易后赠送金额,分", requiredMode = RequiredMode.REQUIRED) @NotNull private Integer afterGiftAmount; + + @Schema(description = "订单编号") + private String orderNo; + + @Schema(description = "车牌号") + private String plateNum; + @Schema(description = "站点名称") + private String stationName; } diff --git a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/impl/OrderSwapBatteryServiceImpl.java b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/impl/OrderSwapBatteryServiceImpl.java index 49d2314..c72c008 100644 --- a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/impl/OrderSwapBatteryServiceImpl.java +++ b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/impl/OrderSwapBatteryServiceImpl.java @@ -459,6 +459,10 @@ public class OrderSwapBatteryServiceImpl implements OrderSwapBatteryService { wad.setAfterTotalAmount(wad.getPreTotalAmount() - Math.abs(wad.getTradeTotalAmount())); wad.setAfterRechargeAmount(wad.getPreRechargeAmount() - Math.abs(wad.getTradeRechargeAmount())); wallet.setGiftAmount(wad.getPreGiftAmount() - Math.abs(wad.getTradeGiftAmount())); + + wad.setOrderNo(orderNo); + wad.setPlateNum(order.getPlateNum()); + wad.setStationName(order.getStationName());//添加订单关联关系及车牌号,站点信息0419 walletAccountService.addDetail(wad); // 改余额 wallet.setTotalAmount(wad.getAfterTotalAmount());