From 534ac9744086d229a4d86a8f7b7c3c8a88fafbb7 Mon Sep 17 00:00:00 2001 From: andy <1042025947@qq.com> Date: Fri, 25 Apr 2025 09:10:01 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E9=A6=96=E9=A1=B5=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=8A=A8=E6=80=81=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../authorization/service/CloudService.java | 11 +- .../service/ResourceService.java | 13 +- .../service/impl/LoginServiceImpl.java | 40 +- .../Dto/{BaseResponse.java => Result.java} | 14 +- .../{ResponseUtil.java => ResultUtil.java} | 7 +- .../core/Dto/request/HomeRequestDto.java | 33 ++ .../home/HomeOrderSwapBatteryAmountDto.java | 21 ++ ...HomeOrderSwapBatteryHalfYearAmountDto.java | 32 ++ .../home/HomeOrderSwapBatteryHalfYearDto.java | 23 ++ .../HomeOrderSwapBatteryProportionDto.java | 28 ++ .../hd/common/core/constant/HDConstant.java | 13 +- .../core/dao/cloud/OrderSwapBatteryDao.java | 24 ++ .../core/entity/cloud/OrderSwapBattery.java | 17 +- .../core/permission/DataScopeOpenMethod.java | 19 + .../permission/handler/DataScopeHandler.java | 104 +++++- .../permission/util/RedisPermissionUtils.java | 4 +- .../controller/BatteryStationController.java | 19 +- .../hd/cloud/controller/HomeController.java | 37 +- .../IndependentAccountController.java | 4 +- .../customer/CompanyController.java | 17 +- .../customer/VehicleController.java | 25 +- .../hd/cloud/controller/dh/DHController.java | 10 +- .../evotech/hd/cloud/entity/vo/HomeData3.java | 23 +- .../evotech/hd/cloud/entity/vo/HomeData5.java | 4 +- .../evotech/hd/cloud/entity/vo/HomeData6.java | 32 +- .../evotech/hd/cloud/entity/vo/HomeData7.java | 16 +- .../cloud/service/BatteryStationService.java | 19 +- .../hd/cloud/service/CompanyService.java | 17 +- .../evotech/hd/cloud/service/HomeService.java | 16 +- .../service/IndependentAccountService.java | 4 +- .../hd/cloud/service/VehicleService.java | 25 +- .../impl/BatteryStationServiceImpl.java | 49 ++- .../service/impl/CompanyServiceImpl.java | 41 +- .../service/impl/DHDeviceServiceImpl.java | 4 +- .../cloud/service/impl/HomeServiceImpl.java | 352 ++++++------------ .../impl/IndependentAccountServiceImpl.java | 12 +- .../service/impl/VehicleServiceImpl.java | 65 ++-- .../hd/cloud/service/rpc/ResourceService.java | 9 +- .../mapper/OrderSwapBatteryMapper.xml | 103 +++++ .../gateway/oauth2/AuthorizationManager.java | 2 +- .../controller/AuthUserController.java | 21 +- .../controller/ProxyOperaterController.java | 15 +- .../hd/resource/service/AuthUserService.java | 21 +- .../service/ProxyOperaterService.java | 15 +- .../service/impl/AuthUserServiceImpl.java | 63 ++-- .../impl/ProxyOperaterServiceImpl.java | 33 +- .../service/impl/RoleServiceImpl.java | 4 +- .../hd/resource/service/rpc/CloudService.java | 6 +- 48 files changed, 866 insertions(+), 620 deletions(-) rename base-commons/common-core/src/main/java/com/evotech/hd/common/core/Dto/{BaseResponse.java => Result.java} (75%) rename base-commons/common-core/src/main/java/com/evotech/hd/common/core/Dto/{ResponseUtil.java => ResultUtil.java} (83%) create mode 100644 base-commons/common-core/src/main/java/com/evotech/hd/common/core/Dto/request/HomeRequestDto.java create mode 100644 base-commons/common-core/src/main/java/com/evotech/hd/common/core/Dto/result/home/HomeOrderSwapBatteryAmountDto.java create mode 100644 base-commons/common-core/src/main/java/com/evotech/hd/common/core/Dto/result/home/HomeOrderSwapBatteryHalfYearAmountDto.java create mode 100644 base-commons/common-core/src/main/java/com/evotech/hd/common/core/Dto/result/home/HomeOrderSwapBatteryHalfYearDto.java create mode 100644 base-commons/common-core/src/main/java/com/evotech/hd/common/core/Dto/result/home/HomeOrderSwapBatteryProportionDto.java create mode 100644 base-commons/common-core/src/main/java/com/evotech/hd/common/core/permission/DataScopeOpenMethod.java create mode 100644 cloud-manage-server/src/main/resources/mapper/OrderSwapBatteryMapper.xml diff --git a/authorization-server/src/main/java/com/evotech/hd/authorization/service/CloudService.java b/authorization-server/src/main/java/com/evotech/hd/authorization/service/CloudService.java index 7d583ca..2e5745d 100644 --- a/authorization-server/src/main/java/com/evotech/hd/authorization/service/CloudService.java +++ b/authorization-server/src/main/java/com/evotech/hd/authorization/service/CloudService.java @@ -1,6 +1,6 @@ package com.evotech.hd.authorization.service; -import com.evotech.hd.common.core.Dto.BaseResponse; +import com.evotech.hd.common.core.Dto.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.cloud.VehicleInfo; @@ -16,11 +16,14 @@ public interface CloudService { @GetMapping(value = "/batterystation/login/list", consumes = {MediaType.APPLICATION_JSON_UTF8_VALUE}) - public BaseResponse> loadBatteryStation(@RequestParam("proxyCode") String proxyCode); + public Result> loadBatteryStation(@RequestParam("proxyCode") String proxyCode); @GetMapping(value = "/company/login/one", consumes = {MediaType.APPLICATION_JSON_UTF8_VALUE}) - public BaseResponse loadCompany(@RequestParam("code") String code); + public Result loadCompany(@RequestParam("code") String code); @GetMapping(value = "/vehicle/login/list", consumes = {MediaType.APPLICATION_JSON_UTF8_VALUE}) - public BaseResponse> loadVehicleInfo(@RequestParam("companyCode") String companyCode); + public Result> loadVehicleInfo(@RequestParam("companyCode") String companyCode); + + @GetMapping(value = "/home/login/data", consumes = {MediaType.APPLICATION_JSON_UTF8_VALUE}) + public void loadIndexData(); } diff --git a/authorization-server/src/main/java/com/evotech/hd/authorization/service/ResourceService.java b/authorization-server/src/main/java/com/evotech/hd/authorization/service/ResourceService.java index 10b6484..ffcd9e3 100644 --- a/authorization-server/src/main/java/com/evotech/hd/authorization/service/ResourceService.java +++ b/authorization-server/src/main/java/com/evotech/hd/authorization/service/ResourceService.java @@ -1,8 +1,7 @@ package com.evotech.hd.authorization.service; -import com.evotech.hd.common.core.Dto.BaseResponse; +import com.evotech.hd.common.core.Dto.Result; import com.evotech.hd.common.core.entity.LoginCacheInfo; -import com.evotech.hd.common.core.entity.Result; import com.evotech.hd.common.core.entity.resource.LogLogin; import com.evotech.hd.common.core.entity.resource.auth.AuthUser; import com.evotech.hd.common.core.entity.resource.auth.AuthUserStation; @@ -22,21 +21,21 @@ public interface ResourceService { @GetMapping(value = "/user/userbyname", consumes = {MediaType.APPLICATION_FORM_URLENCODED_VALUE}) - public Result loadUserByName(@RequestParam("uname") String userName); + public com.evotech.hd.common.core.entity.Result loadUserByName(@RequestParam("uname") String userName); @PostMapping(value = "/user/userpermbyid", consumes = {MediaType.APPLICATION_FORM_URLENCODED_VALUE}) - public Result userPermById(@NotNull @RequestParam("uid") String userId, @RequestParam("type")Integer type); + public com.evotech.hd.common.core.entity.Result userPermById(@NotNull @RequestParam("uid") String userId, @RequestParam("type")Integer type); @PostMapping(value = "/loginlog/add", consumes = {MediaType.APPLICATION_JSON_VALUE}) - public Result addLoginLog(@RequestBody LogLogin log); + public com.evotech.hd.common.core.entity.Result addLoginLog(@RequestBody LogLogin log); @GetMapping(value = "/logininfo/get", consumes = {MediaType.APPLICATION_FORM_URLENCODED_VALUE}) - public Result loginInfo(@RequestParam("uid") String uid); + public com.evotech.hd.common.core.entity.Result loginInfo(@RequestParam("uid") String uid); @GetMapping(value = "/user/station",consumes = {MediaType.APPLICATION_JSON_UTF8_VALUE}) - public BaseResponse> loadBatteryStation(@RequestParam("uid") String uid); + public Result> loadBatteryStation(@RequestParam("uid") String uid); } diff --git a/authorization-server/src/main/java/com/evotech/hd/authorization/service/impl/LoginServiceImpl.java b/authorization-server/src/main/java/com/evotech/hd/authorization/service/impl/LoginServiceImpl.java index 0a73c7b..51824f9 100644 --- a/authorization-server/src/main/java/com/evotech/hd/authorization/service/impl/LoginServiceImpl.java +++ b/authorization-server/src/main/java/com/evotech/hd/authorization/service/impl/LoginServiceImpl.java @@ -15,7 +15,7 @@ import com.evotech.hd.authorization.service.ResourceService; import com.evotech.hd.authorization.utils.LoginRequesHeadertUtil; import com.evotech.hd.authorization.utils.Oauth2AccessTokenUtil; import com.evotech.hd.authorization.utils.TokenUtil; -import com.evotech.hd.common.core.Dto.ResponseUtil; +import com.evotech.hd.common.core.Dto.ResultUtil; import com.evotech.hd.common.core.constant.HDConstant; import com.evotech.hd.common.core.entity.LoginCacheInfo; import com.evotech.hd.common.core.entity.Result; @@ -32,6 +32,7 @@ import com.evotech.hd.common.redis.utils.RedisUtil; import com.evotech.hd.common.web.util.IpUtil; import jakarta.annotation.Resource; import jakarta.servlet.http.HttpServletRequest; +import lombok.extern.slf4j.Slf4j; import org.apache.http.auth.AuthenticationException; import org.springframework.beans.BeanUtils; import org.springframework.core.env.Environment; @@ -42,8 +43,10 @@ import org.springframework.util.StringUtils; import java.util.Date; import java.util.List; import java.util.Map; +import java.util.concurrent.CompletableFuture; import java.util.stream.Collectors; +@Slf4j @Service public class LoginServiceImpl implements LoginService { @@ -159,7 +162,10 @@ public class LoginServiceImpl implements LoginService { AuthUser user = JSONUtil.toBean(jo.getJSONObject("user"), AuthUser.class); BeanUtils.copyProperties(user, uv); redisUtil.set(HDConstant.LOGIN_CACHE_KEY_PREFIX + jti + ":user", user, tokenExp); - + + //异步缓存首页统计 + asyncIndexTask(); + List roleList = JSONUtil.toList(jo.getJSONArray("roleList"), AuthRole.class); uv.setRoleList(roleList); String rcodes = roleList.stream().map(i -> i.getRcode()).collect(Collectors.joining(",")); @@ -180,7 +186,7 @@ public class LoginServiceImpl implements LoginService { String pkIds = "-1", codes="-1"; if(Integer.valueOf(2).equals(user.getType())) { if (rcodeList.contains(HDConstant.OPERATOR_ROLE_CODE)) { - List list = ResponseUtil.getValue(cloudService.loadBatteryStation(user.getBusinessCode())); + List list = ResultUtil.getValue(cloudService.loadBatteryStation(user.getBusinessCode())); if (CollectionUtils.isNotEmpty(list)) { pkIds = list.stream().map(BatteryStation::getPkId).map(String::valueOf).filter(com.alibaba.nacos.common.utils.StringUtils::isNotEmpty).collect(Collectors.joining(",")); codes = list.stream().map(BatteryStation::getCode).filter(com.alibaba.nacos.common.utils.StringUtils::isNotEmpty).collect(Collectors.joining(",")); @@ -188,7 +194,7 @@ public class LoginServiceImpl implements LoginService { } else { //不是运营商管理角色 // 检查当前角色的站点信息 - List list = ResponseUtil.getValue(resourceService.loadBatteryStation(user.getUid())); + List list = ResultUtil.getValue(resourceService.loadBatteryStation(user.getUid())); if (CollectionUtils.isNotEmpty(list)) { pkIds = list.stream().map(AuthUserStation::getStationId).map(String::valueOf).filter(com.alibaba.nacos.common.utils.StringUtils::isNotEmpty).collect(Collectors.joining(",")); codes = list.stream().map(AuthUserStation::getStationCode).filter(com.alibaba.nacos.common.utils.StringUtils::isNotEmpty).collect(Collectors.joining(",")); @@ -203,11 +209,11 @@ public class LoginServiceImpl implements LoginService { String companyId = "-1", companyCode = "-1", carIds = "-1", carPlateNums = "-1"; if (Integer.valueOf(3).equals(user.getType())) { if (rcodeList.contains(HDConstant.COMPANY_ROLE_CODE)) { - Company company = ResponseUtil.getValue(cloudService.loadCompany(user.getBusinessCode())); + Company company = ResultUtil.getValue(cloudService.loadCompany(user.getBusinessCode())); if (!ObjectUtils.isEmpty(company)) { companyId = String.valueOf(company.getPkId()); companyCode = company.getCcode(); - List list = ResponseUtil.getValue(cloudService.loadVehicleInfo(company.getCcode())); + List list = ResultUtil.getValue(cloudService.loadVehicleInfo(company.getCcode())); if (CollectionUtils.isNotEmpty(list)) { carIds = list.stream().map(VehicleInfo::getPkId).map(String::valueOf).filter(com.alibaba.nacos.common.utils.StringUtils::isNotEmpty).collect(Collectors.joining(",")); carPlateNums = list.stream().map(VehicleInfo::getPlateNum).filter(com.alibaba.nacos.common.utils.StringUtils::isNotEmpty).collect(Collectors.joining(",")); @@ -223,7 +229,16 @@ public class LoginServiceImpl implements LoginService { return uv; } - + + private void asyncIndexTask(){ + CompletableFuture asyncTask = CompletableFuture.runAsync(()->{ + try { + cloudService.loadIndexData(); + } catch (Exception e) { + log.error("异步处理首页数据异常:{}", e.getMessage()); + } + }); + } @Override @@ -231,7 +246,16 @@ public class LoginServiceImpl implements LoginService { String authorization = request.getHeader(HDConstant.AUTHORIZATION_KEY); if (authorization != null && authorization.contains(HDConstant.JWT_PREFIX)) { String token = authorization.substring(HDConstant.JWT_PREFIX.length()); - String jti = TokenUtil.getJti(token); + + String jti = TokenUtil.getJti(token); + + AuthUser user = (AuthUser)redisUtil.get(HDConstant.LOGIN_CACHE_KEY_PREFIX + jti + ":user"); + Integer id = user.getPkId(); + redisUtil.del(HDConstant.LOGIN_CACHE_KEY_PREFIX + HDConstant.IndexConstant.HOME_DATA_5+":"+id); + redisUtil.del(HDConstant.LOGIN_CACHE_KEY_PREFIX + HDConstant.IndexConstant.HOME_DATA_6+":"+id); + + + redisUtil.del(HDConstant.LOGIN_CACHE_KEY_PREFIX + jti + ":token"); redisUtil.del(HDConstant.LOGIN_CACHE_KEY_PREFIX + jti + ":user"); redisUtil.del(HDConstant.LOGIN_CACHE_KEY_PREFIX + jti + ":rcodes"); diff --git a/base-commons/common-core/src/main/java/com/evotech/hd/common/core/Dto/BaseResponse.java b/base-commons/common-core/src/main/java/com/evotech/hd/common/core/Dto/Result.java similarity index 75% rename from base-commons/common-core/src/main/java/com/evotech/hd/common/core/Dto/BaseResponse.java rename to base-commons/common-core/src/main/java/com/evotech/hd/common/core/Dto/Result.java index a3f8614..a3d1f95 100644 --- a/base-commons/common-core/src/main/java/com/evotech/hd/common/core/Dto/BaseResponse.java +++ b/base-commons/common-core/src/main/java/com/evotech/hd/common/core/Dto/Result.java @@ -15,7 +15,7 @@ import java.io.Serializable; * @remark: 开发人员联系方式 1042025947@qq.com/微信同步 */ @Data -public class BaseResponse implements Serializable { +public class Result implements Serializable { @Schema(description = "请求处理状态", example = "1") private Integer status; @@ -26,10 +26,10 @@ public class BaseResponse implements Serializable { @Schema(description = "返回数据") private T data; - public BaseResponse() { + public Result() { } - public BaseResponse success(T o) { + public Result success(T o) { this.status = 1; this.code = CodeMsg.SUCCESS.getCode(); this.msg = CodeMsg.SUCCESS.getMsg(); @@ -37,11 +37,17 @@ public class BaseResponse implements Serializable { return this; } - public BaseResponse error(CodeMsg codeMsg) { + public Result error(CodeMsg codeMsg) { this.status = 1; this.code = codeMsg.getCode(); this.msg = codeMsg.getMsg(); return this; } + public Result error(CodeMsg codeMsg, String errorMsg) { + this.status = 1; + this.code = codeMsg.getCode(); + this.msg = errorMsg; + return this; + } } diff --git a/base-commons/common-core/src/main/java/com/evotech/hd/common/core/Dto/ResponseUtil.java b/base-commons/common-core/src/main/java/com/evotech/hd/common/core/Dto/ResultUtil.java similarity index 83% rename from base-commons/common-core/src/main/java/com/evotech/hd/common/core/Dto/ResponseUtil.java rename to base-commons/common-core/src/main/java/com/evotech/hd/common/core/Dto/ResultUtil.java index f2adbca..fda5c54 100644 --- a/base-commons/common-core/src/main/java/com/evotech/hd/common/core/Dto/ResponseUtil.java +++ b/base-commons/common-core/src/main/java/com/evotech/hd/common/core/Dto/ResultUtil.java @@ -4,8 +4,7 @@ import com.evotech.hd.common.core.enums.CodeMsg; import lombok.extern.slf4j.Slf4j; /** - * 类 - * + * 请求相应工具类 * @ClassName:ResponseUtil * @date: 2025年04月22日 16:38 * @author: andy.shi @@ -13,10 +12,10 @@ import lombok.extern.slf4j.Slf4j; * @remark: 开发人员联系方式 1042025947@qq.com/微信同步 */ @Slf4j -public class ResponseUtil { +public class ResultUtil { - public static T getValue(BaseResponse result){ + public static T getValue(Result result){ if(CodeMsg.SUCCESS.getCode().equals(result.getCode())){ return result.getData(); } diff --git a/base-commons/common-core/src/main/java/com/evotech/hd/common/core/Dto/request/HomeRequestDto.java b/base-commons/common-core/src/main/java/com/evotech/hd/common/core/Dto/request/HomeRequestDto.java new file mode 100644 index 0000000..85ce3cd --- /dev/null +++ b/base-commons/common-core/src/main/java/com/evotech/hd/common/core/Dto/request/HomeRequestDto.java @@ -0,0 +1,33 @@ +package com.evotech.hd.common.core.Dto.request; + +import lombok.Data; + +import java.util.Date; + +/** + * + * 类 + * @ClassName:HomeRequestDto + * @date: 2025年04月24日 10:00 + * @author: andy.shi + * @contact: 17330188597 + * @remark: 开发人员联系方式 1042025947@qq.com/微信同步 + */ +@Data +public class HomeRequestDto { + + + Date begin; + + Date end; + + public HomeRequestDto() { + } + + public HomeRequestDto(Date begin, Date end) { + this.begin = begin; + this.end = end; + } +} + + diff --git a/base-commons/common-core/src/main/java/com/evotech/hd/common/core/Dto/result/home/HomeOrderSwapBatteryAmountDto.java b/base-commons/common-core/src/main/java/com/evotech/hd/common/core/Dto/result/home/HomeOrderSwapBatteryAmountDto.java new file mode 100644 index 0000000..dc53fe6 --- /dev/null +++ b/base-commons/common-core/src/main/java/com/evotech/hd/common/core/Dto/result/home/HomeOrderSwapBatteryAmountDto.java @@ -0,0 +1,21 @@ +package com.evotech.hd.common.core.Dto.result.home; + +import lombok.Data; + +/** + * 首页订单金额统计类 + * + * @ClassName:HomeOrderSwapBatteryAmountDto + * @date: 2025年04月24日 11:14 + * @author: andy.shi + * @contact: 17330188597 + * @remark: 开发人员联系方式 1042025947@qq.com/微信同步 + */ +@Data +public class HomeOrderSwapBatteryAmountDto { + + Double amount; + + Integer status; + +} diff --git a/base-commons/common-core/src/main/java/com/evotech/hd/common/core/Dto/result/home/HomeOrderSwapBatteryHalfYearAmountDto.java b/base-commons/common-core/src/main/java/com/evotech/hd/common/core/Dto/result/home/HomeOrderSwapBatteryHalfYearAmountDto.java new file mode 100644 index 0000000..169fdce --- /dev/null +++ b/base-commons/common-core/src/main/java/com/evotech/hd/common/core/Dto/result/home/HomeOrderSwapBatteryHalfYearAmountDto.java @@ -0,0 +1,32 @@ +package com.evotech.hd.common.core.Dto.result.home; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * 近半年订单交易金额统计 + * + * @ClassName:HomeOrderSwapBatteryAmountDto + * @date: 2025年04月24日 11:14 + * @author: andy.shi + * @contact: 17330188597 + * @remark: 开发人员联系方式 1042025947@qq.com/微信同步 + */ +@Data +public class HomeOrderSwapBatteryHalfYearAmountDto { + + @Schema(description = "年月") + private String month; + + @Schema(description = "交易数") + private Long quantity; + + @Schema(description = "交易金额") + private Double totalMoney; + + @Schema(description = "类型") + private Integer status; + + @Schema(description = "支付类型") + private Integer payType; +} diff --git a/base-commons/common-core/src/main/java/com/evotech/hd/common/core/Dto/result/home/HomeOrderSwapBatteryHalfYearDto.java b/base-commons/common-core/src/main/java/com/evotech/hd/common/core/Dto/result/home/HomeOrderSwapBatteryHalfYearDto.java new file mode 100644 index 0000000..41f90b4 --- /dev/null +++ b/base-commons/common-core/src/main/java/com/evotech/hd/common/core/Dto/result/home/HomeOrderSwapBatteryHalfYearDto.java @@ -0,0 +1,23 @@ +package com.evotech.hd.common.core.Dto.result.home; + +import lombok.Data; + +/** + * 近半年订单统计 + * + * @ClassName:HomeOrderSwapBatteryAmountDto + * @date: 2025年04月24日 11:14 + * @author: andy.shi + * @contact: 17330188597 + * @remark: 开发人员联系方式 1042025947@qq.com/微信同步 + */ +@Data +public class HomeOrderSwapBatteryHalfYearDto { + + private String month; + + private Long quantity; + + private Double totalMoney; + +} diff --git a/base-commons/common-core/src/main/java/com/evotech/hd/common/core/Dto/result/home/HomeOrderSwapBatteryProportionDto.java b/base-commons/common-core/src/main/java/com/evotech/hd/common/core/Dto/result/home/HomeOrderSwapBatteryProportionDto.java new file mode 100644 index 0000000..19c9d45 --- /dev/null +++ b/base-commons/common-core/src/main/java/com/evotech/hd/common/core/Dto/result/home/HomeOrderSwapBatteryProportionDto.java @@ -0,0 +1,28 @@ +package com.evotech.hd.common.core.Dto.result.home; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * 换电站订单占比类 + * + * @ClassName:HomeOrderSwapBatteryDto + * @date: 2025年04月24日 10:06 + * @author: andy.shi + * @contact: 17330188597 + * @remark: 开发人员联系方式 1042025947@qq.com/微信同步 + */ +@Data +@Schema(name = "首页换电站订单数,换电站占比相关数据") +public class HomeOrderSwapBatteryProportionDto { + + @Schema(description = "换电站名称") + String stationName; + @Schema(description = "换电站code") + String stationCode; + @Schema(description = "换电站订单数量") + Long quantity; + @Schema(description = "订单类型") + Integer orderType; + +} diff --git a/base-commons/common-core/src/main/java/com/evotech/hd/common/core/constant/HDConstant.java b/base-commons/common-core/src/main/java/com/evotech/hd/common/core/constant/HDConstant.java index 11d1d6d..da0c53c 100644 --- a/base-commons/common-core/src/main/java/com/evotech/hd/common/core/constant/HDConstant.java +++ b/base-commons/common-core/src/main/java/com/evotech/hd/common/core/constant/HDConstant.java @@ -2,6 +2,16 @@ package com.evotech.hd.common.core.constant; public interface HDConstant { + /*** + * 大华设备相关CONSTANT + */ + final class IndexConstant{ + //redis accessToken的key + public static final String HOME_DATA_5 = "homeData5"; + public static final String HOME_DATA_6 = "homeData6"; + + } + /*** * 大华设备相关CONSTANT */ @@ -21,9 +31,6 @@ public interface HDConstant { public static final String LIVE_NOT_EXISTS_CODE = "LV1002"; - - - } diff --git a/base-commons/common-core/src/main/java/com/evotech/hd/common/core/dao/cloud/OrderSwapBatteryDao.java b/base-commons/common-core/src/main/java/com/evotech/hd/common/core/dao/cloud/OrderSwapBatteryDao.java index 80ba3a0..74d271e 100644 --- a/base-commons/common-core/src/main/java/com/evotech/hd/common/core/dao/cloud/OrderSwapBatteryDao.java +++ b/base-commons/common-core/src/main/java/com/evotech/hd/common/core/dao/cloud/OrderSwapBatteryDao.java @@ -1,10 +1,20 @@ package com.evotech.hd.common.core.dao.cloud; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.evotech.hd.common.core.Dto.request.HomeRequestDto; +import com.evotech.hd.common.core.Dto.result.home.HomeOrderSwapBatteryAmountDto; +import com.evotech.hd.common.core.Dto.result.home.HomeOrderSwapBatteryHalfYearAmountDto; +import com.evotech.hd.common.core.Dto.result.home.HomeOrderSwapBatteryHalfYearDto; +import com.evotech.hd.common.core.Dto.result.home.HomeOrderSwapBatteryProportionDto; import com.evotech.hd.common.core.constant.HDConstant; import com.evotech.hd.common.core.entity.cloud.OrderSwapBattery; import com.evotech.hd.common.core.permission.DataScope; +import com.evotech.hd.common.core.permission.DataScopeOpenMethod; import com.evotech.hd.common.core.permission.DataScopes; +import org.apache.ibatis.annotations.Param; + +import java.util.Date; +import java.util.List; /** * @author zrb @@ -14,6 +24,20 @@ import com.evotech.hd.common.core.permission.DataScopes; @DataScope(permissionObject = HDConstant.OPERATOR_ROLE_CODE, permissionScopeName = "station_code", permissionScopeRedisKey = HDConstant.PermissionConstant.PERMISSION_STATION_CODE), @DataScope(permissionObject = HDConstant.COMPANY_ROLE_CODE, permissionScopeName = "plate_num", permissionScopeRedisKey = HDConstant.PermissionConstant.PERMISSION_CAR_CODE), }) +@DataScopeOpenMethod(openMethod = true, methodName = {"homeFindHalfYearAmountData"}) public interface OrderSwapBatteryDao extends BaseMapper { + + List homeFindProportionData(@Param("params") HomeRequestDto params); + + List homeFindAmountData(@Param("params") HomeRequestDto params); + + List homeFindHalfYearOrderData(@Param("params") HomeRequestDto params); + + @DataScope(permissionObject = HDConstant.OPERATOR_ROLE_CODE, tableAlias = "osb", permissionScopeName = "station_code", permissionScopeRedisKey = HDConstant.PermissionConstant.PERMISSION_STATION_CODE) + List homeFindHalfYearAmountData(@Param("params") HomeRequestDto params); + + Long homeFindOrderCountData(@Param("date") Date date); + + Double homeFindOrderAmountData(@Param("date") Date date); } diff --git a/base-commons/common-core/src/main/java/com/evotech/hd/common/core/entity/cloud/OrderSwapBattery.java b/base-commons/common-core/src/main/java/com/evotech/hd/common/core/entity/cloud/OrderSwapBattery.java index e03217c..5202053 100644 --- a/base-commons/common-core/src/main/java/com/evotech/hd/common/core/entity/cloud/OrderSwapBattery.java +++ b/base-commons/common-core/src/main/java/com/evotech/hd/common/core/entity/cloud/OrderSwapBattery.java @@ -1,24 +1,19 @@ package com.evotech.hd.common.core.entity.cloud; -import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.evotech.hd.common.core.entity.BaseEntity; import com.fasterxml.jackson.annotation.JsonFormat; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; -import java.util.List; - -import org.springframework.format.annotation.DateTimeFormat; - import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema.RequiredMode; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; /** * @author zrb @@ -73,7 +68,7 @@ public class OrderSwapBattery extends BaseEntity implements Serializable { @Schema(description = "订单金额") private Integer amount; - @Schema(description = "订单状态:1-已创建,2-换电中,3-换电完成,4-充电中,5-充电完成,6-待结算,7-已完成,9-已取消") + @Schema(description = "订单状态:1-已创建,2-换电中,3-换电完成,4-充电中,5-充电完成,6-待结算,7-已完成,9-已取消, -1-退款") private Integer status; @Schema(description = "计算费用方式:1-ODO,2-SOC,3-按电量") diff --git a/base-commons/common-core/src/main/java/com/evotech/hd/common/core/permission/DataScopeOpenMethod.java b/base-commons/common-core/src/main/java/com/evotech/hd/common/core/permission/DataScopeOpenMethod.java new file mode 100644 index 0000000..37a0c1b --- /dev/null +++ b/base-commons/common-core/src/main/java/com/evotech/hd/common/core/permission/DataScopeOpenMethod.java @@ -0,0 +1,19 @@ +package com.evotech.hd.common.core.permission; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Target({ElementType.METHOD,ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +public @interface DataScopeOpenMethod { + + /*** + * 是否开启方法查询 + */ + boolean openMethod() default false; + + String[] methodName(); + +} diff --git a/base-commons/common-permission/src/main/java/com/evotech/hd/common/permission/handler/DataScopeHandler.java b/base-commons/common-permission/src/main/java/com/evotech/hd/common/permission/handler/DataScopeHandler.java index 8e174e3..9b24632 100644 --- a/base-commons/common-permission/src/main/java/com/evotech/hd/common/permission/handler/DataScopeHandler.java +++ b/base-commons/common-permission/src/main/java/com/evotech/hd/common/permission/handler/DataScopeHandler.java @@ -8,7 +8,9 @@ import com.baomidou.mybatisplus.extension.plugins.handler.MultiDataPermissionHan import com.evotech.hd.common.core.constant.HDConstant; import com.evotech.hd.common.core.entity.resource.auth.AuthUser; import com.evotech.hd.common.core.permission.DataScope; +import com.evotech.hd.common.core.permission.DataScopeOpenMethod; import com.evotech.hd.common.core.permission.DataScopes; +import com.evotech.hd.common.core.utils.Collections; import com.evotech.hd.common.permission.util.RedisPermissionUtils; import net.sf.jsqlparser.expression.Expression; import net.sf.jsqlparser.expression.Parenthesis; @@ -18,7 +20,9 @@ import net.sf.jsqlparser.expression.operators.relational.InExpression; import net.sf.jsqlparser.schema.Column; import net.sf.jsqlparser.schema.Table; +import java.lang.reflect.Method; import java.util.Arrays; +import java.util.List; import java.util.stream.Collectors; /** @@ -49,35 +53,95 @@ public class DataScopeHandler implements MultiDataPermissionHandler { if(table != null && CollectionUtils.isNotEmpty(table.getNameParts()) && !"1".equals(RedisPermissionUtils.getRoleType()) && BeanUtil.isNotEmpty(RedisPermissionUtils.getUser())){ String roleCode = getUserRoleType(); Class mapperClazz = Class.forName(mappedStatementId.substring(0, mappedStatementId.lastIndexOf("."))); + String methodName = mappedStatementId.substring(mappedStatementId.lastIndexOf(".")+1); + //检查是否允许检查方法的数据权限 + DataScopeOpenMethod dataScopeOpenMethod = mapperClazz.getAnnotation(DataScopeOpenMethod.class); + + if(dataScopeOpenMethod != null && dataScopeOpenMethod.openMethod()){ + List methodNameList = Collections.asList(dataScopeOpenMethod.methodName()); + if(methodNameList.contains(methodName)){ + Method[] methods = mapperClazz.getMethods(); +// //优先检查方法上的权限配置 + for (Method method : methods) { + if(methodName.equals(method.getName())){ + //优先检查是不是单角色权限 + DataScope dataScope = method.getAnnotation(DataScope.class); + //如果不是, 检查多角色权限 + DataScopes dataScopesList = method.getAnnotation(DataScopes.class); + if(dataScope != null || dataScopesList != null){ + return buildPermission(dataScope, dataScopesList, roleCode); + } + } + } + } + + } + //优先检查是不是单角色权限 DataScope dataScope = mapperClazz.getAnnotation(DataScope.class); - if (ObjectUtils.isNotEmpty(dataScope) && dataScope.enabled()) { - if(dataScope.permissionObject().equals(roleCode)){ - return buildDataScopeByAnnotation(dataScope); + //如果不是, 检查多角色权限 + DataScopes dataScopesList = mapperClazz.getAnnotation(DataScopes.class); + if(dataScope != null || dataScopesList != null){ + return buildPermission(dataScope, dataScopesList, roleCode); + } +// //优先检查是不是单角色权限 +// DataScope dataScope = mapperClazz.getAnnotation(DataScope.class); +// if (ObjectUtils.isNotEmpty(dataScope) && dataScope.enabled()) { +// if(dataScope.permissionObject().equals(roleCode)){ +// return buildDataScopeByAnnotation(dataScope); +// }else +// //如果说等于没有权限 +// if(HDConstant.PERMISSION_NOT_CODE.equals(roleCode)){ +// return buildNotDataScopeByAnnotation(dataScope); +// } +// } +// //如果不是, 检查多角色权限 +// DataScopes dataScopesList = mapperClazz.getAnnotation(DataScopes.class); +// if (ObjectUtils.isNotEmpty(dataScopesList)) { +// for (DataScope dataScopes :dataScopesList.value()){ +// if(dataScopes.enabled()){ +// if(dataScopes.permissionObject().equals(roleCode)){ +// return buildDataScopeByAnnotation(dataScopes); +// }else +// //如果说等于没有权限 +// if(HDConstant.PERMISSION_NOT_CODE.equals(roleCode)){ +// return buildNotDataScopeByAnnotation(dataScope); +// } +// } +// } +// } + } + } catch (ClassNotFoundException e) { + e.printStackTrace(); + } + return null; + } + + + private Expression buildPermission(DataScope dataScope, DataScopes dataScopesList, String roleCode){ + //优先检查是不是单角色权限 + if (ObjectUtils.isNotEmpty(dataScope) && dataScope.enabled()) { + if(dataScope.permissionObject().equals(roleCode)){ + return buildDataScopeByAnnotation(dataScope); + }else + //如果说等于没有权限 + if(HDConstant.PERMISSION_NOT_CODE.equals(roleCode)){ + return buildNotDataScopeByAnnotation(dataScope); + } + } + //如果不是, 检查多角色权限 + if (ObjectUtils.isNotEmpty(dataScopesList)) { + for (DataScope dataScopes :dataScopesList.value()){ + if(dataScopes.enabled()){ + if(dataScopes.permissionObject().equals(roleCode)){ + return buildDataScopeByAnnotation(dataScopes); }else //如果说等于没有权限 if(HDConstant.PERMISSION_NOT_CODE.equals(roleCode)){ return buildNotDataScopeByAnnotation(dataScope); - } - } - //如果不是, 检查多角色权限 - DataScopes dataScopesList = mapperClazz.getAnnotation(DataScopes.class); - if (ObjectUtils.isNotEmpty(dataScopesList)) { - for (DataScope dataScopes :dataScopesList.value()){ - if(dataScopes.enabled()){ - if(dataScopes.permissionObject().equals(roleCode)){ - return buildDataScopeByAnnotation(dataScopes); - }else - //如果说等于没有权限 - if(HDConstant.PERMISSION_NOT_CODE.equals(roleCode)){ - return buildNotDataScopeByAnnotation(dataScope); - } } - } } } - } catch (ClassNotFoundException e) { - e.printStackTrace(); } return null; } diff --git a/base-commons/common-permission/src/main/java/com/evotech/hd/common/permission/util/RedisPermissionUtils.java b/base-commons/common-permission/src/main/java/com/evotech/hd/common/permission/util/RedisPermissionUtils.java index 7d2887c..0923329 100644 --- a/base-commons/common-permission/src/main/java/com/evotech/hd/common/permission/util/RedisPermissionUtils.java +++ b/base-commons/common-permission/src/main/java/com/evotech/hd/common/permission/util/RedisPermissionUtils.java @@ -54,7 +54,7 @@ public class RedisPermissionUtils { return getStringValue(HDConstant.LOGIN_CACHE_KEY_PREFIX + HDConstant.PermissionConstant.PERMISSION_CAR_ID+":"+getUserPkId()); } - private static Integer getUserPkId(){ + public static Integer getUserPkId(){ AuthUser user = getUser(); if(ObjectUtils.isEmpty(user) || user.getPkId() == null){ return null; @@ -151,7 +151,7 @@ public class RedisPermissionUtils { * @param key * @return */ - private static String getStringValue(String key){ + public static String getStringValue(String key){ Object obj = getValue(key); return ObjectUtils.isEmpty(obj) ? null : String.valueOf(obj); } diff --git a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/controller/BatteryStationController.java b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/controller/BatteryStationController.java index 9d1268c..4302d22 100644 --- a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/controller/BatteryStationController.java +++ b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/controller/BatteryStationController.java @@ -3,8 +3,7 @@ package com.evotech.hd.cloud.controller; import com.evotech.hd.cloud.entity.request.PageListBatteryStationRequest; import com.evotech.hd.cloud.mqtt.message.handle.RequestMessageService; import com.evotech.hd.cloud.service.BatteryStationService; -import com.evotech.hd.common.core.Dto.BaseResponse; -import com.evotech.hd.common.core.entity.Result; +import com.evotech.hd.common.core.Dto.Result; import com.evotech.hd.common.core.entity.cloud.BatteryStation; import com.evotech.hd.common.core.entity.cloud.vo.BatteryStationVO; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; @@ -37,35 +36,35 @@ public class BatteryStationController { @Operation(summary = "增加") @PostMapping("/add") @ApiOperationSupport(order = 1) - public Result add(@Valid @ParameterObject BatteryStation bs) { + public com.evotech.hd.common.core.entity.Result add(@Valid @ParameterObject BatteryStation bs) { return batteryStationService.add(bs); } @Operation(summary = "删除") @PostMapping("/del") @ApiOperationSupport(order = 2) - public Result delete(Integer id) { + public com.evotech.hd.common.core.entity.Result delete(Integer id) { return batteryStationService.delete(id); } @Operation(summary = "修改") @PostMapping({"/update"}) @ApiOperationSupport(order = 3) - public Result update(@ParameterObject BatteryStation bs) { + public com.evotech.hd.common.core.entity.Result update(@ParameterObject BatteryStation bs) { return batteryStationService.update(bs); } @Operation(summary = "查询") @GetMapping("/list") @ApiOperationSupport(order = 4) - public Result> list(@ParameterObject PageListBatteryStationRequest plbsr) { + public com.evotech.hd.common.core.entity.Result> list(@ParameterObject PageListBatteryStationRequest plbsr) { return batteryStationService.list(plbsr); } @Operation(summary = "查询2") @GetMapping("/liststation") @Hidden - public Result> listStation(@RequestParam(required = false) String plateNum) { + public com.evotech.hd.common.core.entity.Result> listStation(@RequestParam(required = false) String plateNum) { return batteryStationService.listStation(plateNum); } @@ -73,7 +72,7 @@ public class BatteryStationController { @Operation(summary = "站点秘钥") @PostMapping("/rsa_secret_key") @ApiOperationSupport(order = 5) - public Result> RsaSecretKey(@NotBlank @RequestParam String stationCode) { + public com.evotech.hd.common.core.entity.Result> RsaSecretKey(@NotBlank @RequestParam String stationCode) { return batteryStationService.RsaSecretKey(stationCode); } @@ -100,13 +99,13 @@ public class BatteryStationController { @Operation(summary = "查询") @GetMapping("/login/list") - public BaseResponse> loginList(@RequestParam String proxyCode) { + public Result> loginList(@RequestParam String proxyCode) { return batteryStationService.loginList(proxyCode); } @Operation(summary = "查询") @GetMapping("/resource/list") - public BaseResponse> resourceList(@RequestParam String pkIds) { + public Result> resourceList(@RequestParam String pkIds) { return batteryStationService.resourceList(pkIds); } diff --git a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/controller/HomeController.java b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/controller/HomeController.java index 7cce9a8..ed253fc 100644 --- a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/controller/HomeController.java +++ b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/controller/HomeController.java @@ -1,28 +1,20 @@ package com.evotech.hd.cloud.controller; -import java.util.List; - +import com.evotech.hd.cloud.entity.request.HomeDataRequest; +import com.evotech.hd.cloud.entity.vo.*; +import com.evotech.hd.cloud.service.HomeService; +import com.evotech.hd.common.core.Dto.Result; +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 org.springdoc.core.annotations.ParameterObject; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import com.evotech.hd.cloud.entity.request.HomeDataRequest; -import com.evotech.hd.cloud.entity.vo.HomeData1; -import com.evotech.hd.cloud.entity.vo.HomeData2; -import com.evotech.hd.cloud.entity.vo.HomeData3; -import com.evotech.hd.cloud.entity.vo.HomeData4; -import com.evotech.hd.cloud.entity.vo.HomeData5; -import com.evotech.hd.cloud.entity.vo.HomeData6; -import com.evotech.hd.cloud.entity.vo.HomeData7; -import com.evotech.hd.cloud.service.HomeService; -import com.evotech.hd.common.core.entity.Result; -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 java.util.List; @Tag(name = "首页数据") @ApiSupport(order = 60) @@ -48,14 +40,14 @@ public class HomeController { return homeService.homeData2(); } - @Operation(summary = "数据3-订单 可按换电站统计") + @Operation(summary = "数据3-订单总数 订单占比") @GetMapping("/data3") @ApiOperationSupport(order = 3) public Result homeData3(@ParameterObject HomeDataRequest hd) { return homeService.homeData3(hd); } - @Operation(summary = "数据4-交易 不按换电站统计") + @Operation(summary = "数据4-收入/支出金额") @GetMapping("/data4") @ApiOperationSupport(order = 4) public Result homeData4(@ParameterObject HomeDataRequest hd) { @@ -84,4 +76,9 @@ public class HomeController { return homeService.homeData7(type); } + + @GetMapping("/login/data") + public void loginData() { + homeService.loginData(); + } } diff --git a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/controller/IndependentAccountController.java b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/controller/IndependentAccountController.java index 6e71cee..1f65758 100644 --- a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/controller/IndependentAccountController.java +++ b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/controller/IndependentAccountController.java @@ -2,7 +2,7 @@ package com.evotech.hd.cloud.controller; import com.evotech.hd.cloud.entity.request.IndependentAccountRequest; import com.evotech.hd.cloud.service.IndependentAccountService; -import com.evotech.hd.common.core.Dto.BaseResponse; +import com.evotech.hd.common.core.Dto.Result; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.github.xiaoymin.knife4j.annotations.ApiSupport; import io.swagger.v3.oas.annotations.Operation; @@ -36,7 +36,7 @@ public class IndependentAccountController { @Operation(summary = "查询") @GetMapping("/list") @ApiOperationSupport(order = 4) - public BaseResponse> list(@ParameterObject IndependentAccountRequest params) { + public Result> list(@ParameterObject IndependentAccountRequest params) { return independentAccountService.pageList(params); } 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 bfba3a9..75064d4 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 @@ -1,9 +1,8 @@ package com.evotech.hd.cloud.controller.customer; import com.evotech.hd.cloud.service.CompanyService; -import com.evotech.hd.common.core.Dto.BaseResponse; +import com.evotech.hd.common.core.Dto.Result; import com.evotech.hd.common.core.entity.BasePageRequest; -import com.evotech.hd.common.core.entity.Result; import com.evotech.hd.common.core.entity.cloud.Company; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.github.xiaoymin.knife4j.annotations.ApiSupport; @@ -32,43 +31,43 @@ public class CompanyController { @Operation(summary = "增加") @PostMapping("/add") @ApiOperationSupport(order = 1) - public Result add(@Valid @ParameterObject Company company) { + public com.evotech.hd.common.core.entity.Result add(@Valid @ParameterObject Company company) { return companyService.add(company); } @Operation(summary = "删除") @PostMapping("/del") @ApiOperationSupport(order = 2) - public Result delete(@NotNull Integer id) { + public com.evotech.hd.common.core.entity.Result delete(@NotNull Integer id) { return companyService.delete(id); } @Operation(summary = "修改") @PostMapping({"/update"}) @ApiOperationSupport(order = 3) - public Result update(@ParameterObject Company company) { + public com.evotech.hd.common.core.entity.Result update(@ParameterObject Company company) { return companyService.update(company); } @Operation(summary = "查询") @GetMapping("/list") @ApiOperationSupport(order = 4) - public Result> list(@Valid @ParameterObject BasePageRequest bpr) { + public com.evotech.hd.common.core.entity.Result> list(@Valid @ParameterObject BasePageRequest bpr) { return companyService.list(bpr); } @GetMapping("/companyByCode") - public Result> companyByCode(String ccode) { + public com.evotech.hd.common.core.entity.Result> companyByCode(String ccode) { return companyService.companyByCode(ccode); } @GetMapping("/login/one") - public BaseResponse loginOne(@RequestParam String code) { + public Result loginOne(@RequestParam String code) { return companyService.loginOne(code); } @GetMapping("/resource/list") - public BaseResponse> resourceList() { + public Result> resourceList() { return companyService.resourceList(); } diff --git a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/controller/customer/VehicleController.java b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/controller/customer/VehicleController.java index a6366c1..0618622 100644 --- a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/controller/customer/VehicleController.java +++ b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/controller/customer/VehicleController.java @@ -2,8 +2,7 @@ package com.evotech.hd.cloud.controller.customer; import com.evotech.hd.cloud.entity.request.PageListVehicleRequest; import com.evotech.hd.cloud.service.VehicleService; -import com.evotech.hd.common.core.Dto.BaseResponse; -import com.evotech.hd.common.core.entity.Result; +import com.evotech.hd.common.core.Dto.Result; import com.evotech.hd.common.core.entity.cloud.VehicleInfo; import com.evotech.hd.common.core.entity.cloud.VehicleWechatUserRelation; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; @@ -34,49 +33,49 @@ public class VehicleController { @Operation(summary = "增加") @PostMapping("/add") @ApiOperationSupport(order = 1) - public Result add(@Valid @ParameterObject VehicleInfo vi) { + public com.evotech.hd.common.core.entity.Result add(@Valid @ParameterObject VehicleInfo vi) { return vehicleService.add(vi); } @Operation(summary = "删除") @PostMapping("/del") @ApiOperationSupport(order = 2) - public Result delete(Integer id) { + public com.evotech.hd.common.core.entity.Result delete(Integer id) { return vehicleService.delete(id); } @Operation(summary = "修改") @PostMapping({"/update"}) @ApiOperationSupport(order = 3) - public Result update(@ParameterObject VehicleInfo vi) { + public com.evotech.hd.common.core.entity.Result update(@ParameterObject VehicleInfo vi) { return vehicleService.update(vi); } @Operation(summary = "查询") @GetMapping("/list") @ApiOperationSupport(order = 4) - public Result> list(@ParameterObject PageListVehicleRequest plvr) { + public com.evotech.hd.common.core.entity.Result> list(@ParameterObject PageListVehicleRequest plvr) { return vehicleService.list(plvr); } @Operation(summary = "关联公司") @PostMapping("/company/relation") @ApiOperationSupport(order = 5) - public Result companyRelation(String plateNum, String ccode, String cname) { + public com.evotech.hd.common.core.entity.Result companyRelation(String plateNum, String ccode, String cname) { return vehicleService.companyRelation(plateNum, ccode, cname); } @Operation(summary = "删除关联公司") @PostMapping("/company/relation/del") @ApiOperationSupport(order = 6) - public Result delCompanyRelation(String plateNum) { + public com.evotech.hd.common.core.entity.Result delCompanyRelation(String plateNum) { return vehicleService.delCompanyRelation(plateNum); } @Operation(summary = "微信用户关联") @PostMapping("/wechatuser/relation/add") @ApiOperationSupport(order = 7) - public Result addWechatUserRelation(@Valid @ParameterObject VehicleWechatUserRelation relation) { + public com.evotech.hd.common.core.entity.Result addWechatUserRelation(@Valid @ParameterObject VehicleWechatUserRelation relation) { return vehicleService.addWechatUserRelation(relation); } @@ -84,7 +83,7 @@ public class VehicleController { @Operation(summary = "删除微信用户关联") @PostMapping("/wechatuser/relation/del") @ApiOperationSupport(order = 8) - public Result deleteWechatUserRelation(Integer id) { + public com.evotech.hd.common.core.entity.Result deleteWechatUserRelation(Integer id) { return vehicleService.deleteWechatUserRelation(id); } @@ -92,14 +91,14 @@ public class VehicleController { @Operation(summary = "查询微信用户车辆") @GetMapping("/wechatuser/relation/list") @ApiOperationSupport(order = 9) - public Result> listWechatUserRelation(@NotBlank @RequestParam String wuid) { + public com.evotech.hd.common.core.entity.Result> listWechatUserRelation(@NotBlank @RequestParam String wuid) { return vehicleService.listWechatUserRelation(wuid, null); } @Operation(summary = "查询车辆的关联用户") @GetMapping("/relationuser/list") @ApiOperationSupport(order = 10) - public Result> listRelationUser(@NotBlank @RequestParam String PlantNo) { + public com.evotech.hd.common.core.entity.Result> listRelationUser(@NotBlank @RequestParam String PlantNo) { return vehicleService.listRelationUser(PlantNo); } @@ -107,7 +106,7 @@ public class VehicleController { @Operation(summary = "查询") @GetMapping("/login/list") @ApiOperationSupport(order = 4) - public BaseResponse> loginList(@RequestParam String companyCode) { + public Result> loginList(@RequestParam String companyCode) { return vehicleService.loginList(companyCode); } diff --git a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/controller/dh/DHController.java b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/controller/dh/DHController.java index 25def3f..b2ca8eb 100644 --- a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/controller/dh/DHController.java +++ b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/controller/dh/DHController.java @@ -1,7 +1,7 @@ package com.evotech.hd.cloud.controller.dh; import com.evotech.hd.cloud.service.DHDeviceService; -import com.evotech.hd.common.core.Dto.BaseResponse; +import com.evotech.hd.common.core.Dto.Result; import com.evotech.hd.common.core.Dto.DeviceDto; import com.github.xiaoymin.knife4j.annotations.ApiSupport; import io.swagger.v3.oas.annotations.Operation; @@ -30,14 +30,14 @@ public class DHController { @Operation(summary = "设备列表") @GetMapping("/device/list") - public BaseResponse> deviceList() { - return new BaseResponse().success(dhDeviceService.findList()); + public Result> deviceList() { + return new Result().success(dhDeviceService.findList()); } @Operation(summary = "直播地址", description = "直接返回直播地址") @PostMapping("/device/live") - public BaseResponse live(@RequestParam String deviceId, @RequestParam String channelId) { - return new BaseResponse().success(dhDeviceService.live(deviceId, channelId)); + public Result live(@RequestParam String deviceId, @RequestParam String channelId) { + return new Result().success(dhDeviceService.live(deviceId, channelId)); } } diff --git a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/entity/vo/HomeData3.java b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/entity/vo/HomeData3.java index e77d12f..252e224 100644 --- a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/entity/vo/HomeData3.java +++ b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/entity/vo/HomeData3.java @@ -1,12 +1,11 @@ package com.evotech.hd.cloud.entity.vo; -import java.util.List; - -import com.evotech.hd.cloud.entity.HomeStationOrderData; - +import com.evotech.hd.common.core.Dto.result.home.HomeOrderSwapBatteryProportionDto; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; +import java.util.List; + @Data @Schema(name = "订单") public class HomeData3 { @@ -16,17 +15,9 @@ public class HomeData3 { private String dayEnd; @Schema(description = "总订单数") - private Integer quantity; - - @Schema(description = "完成订单数") - private Integer finishedQuantity; - - @Schema(description = "进行中的订单数") - private Integer toDoQuantity; - - @Schema(description = "作废订单数") - private Integer cancleQuantity; - - private List stationOrderDataList; + private Long quantity; + + @Schema(description = "各站点情况") + private List stationOrderDataList; } diff --git a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/entity/vo/HomeData5.java b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/entity/vo/HomeData5.java index 070d05f..45b2ee3 100644 --- a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/entity/vo/HomeData5.java +++ b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/entity/vo/HomeData5.java @@ -11,8 +11,8 @@ public class HomeData5 { private String month; @Schema(description = "数量") - private Integer quantity; + private Long quantity; @Schema(description = "金额") - private Integer totalMoney; + private Double totalMoney; } diff --git a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/entity/vo/HomeData6.java b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/entity/vo/HomeData6.java index 8cb77bf..26fe2cf 100644 --- a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/entity/vo/HomeData6.java +++ b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/entity/vo/HomeData6.java @@ -9,22 +9,24 @@ public class HomeData6 { @Schema(description = "年月") private String month; - + + @Schema(description = "在线支付交易数") + private Long inQuantity = 0l; + + @Schema(description = "在线支付金额") + private Double inMoney = 0d; + @Schema(description = "余额支付交易数") - private Integer walletQuantity; - + private Long walletQuantity = 0l; + @Schema(description = "余额支付金额") - private Integer walletMoney; - - @Schema(description = "收入金额") - private Integer inMoney; - - @Schema(description = "收入交易数") - private Integer inQuantity; - - @Schema(description = "退款金额") - private Integer refundMoney; - + private Double walletMoney = 0d; + @Schema(description = "退款交易数") - private Integer refundQuantity; + private Long refundQuantity = 0l; + + @Schema(description = "退款金额") + private Double refundMoney = 0d; + + } diff --git a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/entity/vo/HomeData7.java b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/entity/vo/HomeData7.java index 8d11cca..0cb5644 100644 --- a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/entity/vo/HomeData7.java +++ b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/entity/vo/HomeData7.java @@ -11,26 +11,26 @@ public class HomeData7 { private String month; @Schema(description = "订单数量") - private Integer quantity; + private Long quantity; @Schema(description = "同比订单数量") - private Integer lastMonthQuantity; + private Long lastMonthQuantity; @Schema(description = "环比订单数量") - private Integer lastYearQuantity; + private Long lastYearQuantity; @Schema(description = "前年订单数量") - private Integer last2YearQuantity; + private Long last2YearQuantity; @Schema(description = "交易金额") - private Integer tradeAmount; + private Double tradeAmount; @Schema(description = "同比交易金额") - private Integer lastMonthTradeAmount; + private Double lastMonthTradeAmount; @Schema(description = "环比交易金额") - private Integer lastYearTradeAmount; + private Double lastYearTradeAmount; @Schema(description = "前年交易金额") - private Integer last2YearTradeAmount; + private Double last2YearTradeAmount; } diff --git a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/BatteryStationService.java b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/BatteryStationService.java index dabbfe9..525ee38 100644 --- a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/BatteryStationService.java +++ b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/BatteryStationService.java @@ -1,8 +1,7 @@ package com.evotech.hd.cloud.service; import com.evotech.hd.cloud.entity.request.PageListBatteryStationRequest; -import com.evotech.hd.common.core.Dto.BaseResponse; -import com.evotech.hd.common.core.entity.Result; +import com.evotech.hd.common.core.Dto.Result; import com.evotech.hd.common.core.entity.cloud.BatteryStation; import com.evotech.hd.common.core.entity.cloud.vo.BatteryStationVO; import jakarta.servlet.http.HttpServletResponse; @@ -12,17 +11,17 @@ import java.util.Map; public interface BatteryStationService { - public Result add(BatteryStation bs); + public com.evotech.hd.common.core.entity.Result add(BatteryStation bs); - public Result delete(Integer id); + public com.evotech.hd.common.core.entity.Result delete(Integer id); - public Result update(BatteryStation bs); + public com.evotech.hd.common.core.entity.Result update(BatteryStation bs); - public Result> list(PageListBatteryStationRequest plbsr); + public com.evotech.hd.common.core.entity.Result> list(PageListBatteryStationRequest plbsr); - public Result> listStation(String plateNum); + public com.evotech.hd.common.core.entity.Result> listStation(String plateNum); - public Result> RsaSecretKey(String stationCode); + public com.evotech.hd.common.core.entity.Result> RsaSecretKey(String stationCode); public void getQRCode2(String path, String width, String env_version, HttpServletResponse response); @@ -30,9 +29,9 @@ public interface BatteryStationService { public void downloadQRCode2(String path, String width, HttpServletResponse response); - public BaseResponse> loginList(String proxyId); + public Result> loginList(String proxyId); - public BaseResponse> resourceList(String pkIds); + public Result> resourceList(String pkIds); List deviceList(String proxyCode); 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 7c0f460..5997d83 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 @@ -1,8 +1,7 @@ package com.evotech.hd.cloud.service; -import com.evotech.hd.common.core.Dto.BaseResponse; +import com.evotech.hd.common.core.Dto.Result; import com.evotech.hd.common.core.entity.BasePageRequest; -import com.evotech.hd.common.core.entity.Result; import com.evotech.hd.common.core.entity.cloud.Company; import java.util.List; @@ -10,17 +9,17 @@ import java.util.Map; public interface CompanyService { - public Result add(Company company); + public com.evotech.hd.common.core.entity.Result add(Company company); - public Result delete(Integer id); + public com.evotech.hd.common.core.entity.Result delete(Integer id); - public Result update(Company company); + public com.evotech.hd.common.core.entity.Result update(Company company); - public Result> list(BasePageRequest bpr); + public com.evotech.hd.common.core.entity.Result> list(BasePageRequest bpr); - public Result> companyByCode(String ccode); + public com.evotech.hd.common.core.entity.Result> companyByCode(String ccode); - public BaseResponse loginOne(String code); + public Result loginOne(String code); - public BaseResponse> resourceList(); + public Result> resourceList(); } diff --git a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/HomeService.java b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/HomeService.java index b739a98..0c18c80 100644 --- a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/HomeService.java +++ b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/HomeService.java @@ -1,16 +1,10 @@ package com.evotech.hd.cloud.service; -import java.util.List; - import com.evotech.hd.cloud.entity.request.HomeDataRequest; -import com.evotech.hd.cloud.entity.vo.HomeData1; -import com.evotech.hd.cloud.entity.vo.HomeData2; -import com.evotech.hd.cloud.entity.vo.HomeData3; -import com.evotech.hd.cloud.entity.vo.HomeData4; -import com.evotech.hd.cloud.entity.vo.HomeData5; -import com.evotech.hd.cloud.entity.vo.HomeData6; -import com.evotech.hd.cloud.entity.vo.HomeData7; -import com.evotech.hd.common.core.entity.Result; +import com.evotech.hd.cloud.entity.vo.*; +import com.evotech.hd.common.core.Dto.Result; + +import java.util.List; public interface HomeService { @@ -28,4 +22,6 @@ public interface HomeService { public Result homeData7(Integer type); + public void loginData(); + } diff --git a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/IndependentAccountService.java b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/IndependentAccountService.java index f0b0cf0..8ec504a 100644 --- a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/IndependentAccountService.java +++ b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/IndependentAccountService.java @@ -1,7 +1,7 @@ package com.evotech.hd.cloud.service; import com.evotech.hd.cloud.entity.request.IndependentAccountRequest; -import com.evotech.hd.common.core.Dto.BaseResponse; +import com.evotech.hd.common.core.Dto.Result; import com.evotech.hd.common.core.entity.cloud.TaxPoint; import java.util.Map; @@ -19,5 +19,5 @@ public interface IndependentAccountService { void addIndependentAccount(TaxPoint taxPoint, String stationCode); - public BaseResponse> pageList(IndependentAccountRequest params); + public Result> pageList(IndependentAccountRequest params); } diff --git a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/VehicleService.java b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/VehicleService.java index fae2bcc..b77099d 100644 --- a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/VehicleService.java +++ b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/VehicleService.java @@ -1,8 +1,7 @@ package com.evotech.hd.cloud.service; import com.evotech.hd.cloud.entity.request.PageListVehicleRequest; -import com.evotech.hd.common.core.Dto.BaseResponse; -import com.evotech.hd.common.core.entity.Result; +import com.evotech.hd.common.core.Dto.Result; import com.evotech.hd.common.core.entity.cloud.VehicleInfo; import com.evotech.hd.common.core.entity.cloud.VehicleWechatUserRelation; @@ -10,26 +9,26 @@ import java.util.List; public interface VehicleService { - public Result add(VehicleInfo vi); + public com.evotech.hd.common.core.entity.Result add(VehicleInfo vi); - public Result delete(Integer id); + public com.evotech.hd.common.core.entity.Result delete(Integer id); - public Result update(VehicleInfo vi); + public com.evotech.hd.common.core.entity.Result update(VehicleInfo vi); - public Result> list(PageListVehicleRequest plvr); + public com.evotech.hd.common.core.entity.Result> list(PageListVehicleRequest plvr); - public Result companyRelation(String plateNum, String ccode, String cname); + public com.evotech.hd.common.core.entity.Result companyRelation(String plateNum, String ccode, String cname); - public Result delCompanyRelation(String plateNum); + public com.evotech.hd.common.core.entity.Result delCompanyRelation(String plateNum); - public Result addWechatUserRelation(VehicleWechatUserRelation relation); + public com.evotech.hd.common.core.entity.Result addWechatUserRelation(VehicleWechatUserRelation relation); - public Result deleteWechatUserRelation(Integer id); + public com.evotech.hd.common.core.entity.Result deleteWechatUserRelation(Integer id); - public Result> listWechatUserRelation(String openid, String plateNum); + public com.evotech.hd.common.core.entity.Result> listWechatUserRelation(String openid, String plateNum); - public Result> listRelationUser(String PlantNo); - public BaseResponse> loginList(String companyCode); + public com.evotech.hd.common.core.entity.Result> listRelationUser(String PlantNo); + public Result> loginList(String companyCode); diff --git a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/impl/BatteryStationServiceImpl.java b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/impl/BatteryStationServiceImpl.java index fe7f319..a403714 100644 --- a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/impl/BatteryStationServiceImpl.java +++ b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/impl/BatteryStationServiceImpl.java @@ -18,8 +18,7 @@ import com.evotech.hd.cloud.entity.request.PageListBatteryStationRequest; import com.evotech.hd.cloud.exception.DHException; import com.evotech.hd.cloud.service.BatteryStationService; import com.evotech.hd.cloud.service.rpc.WechatService; -import com.evotech.hd.common.core.Dto.BaseResponse; -import com.evotech.hd.common.core.entity.Result; +import com.evotech.hd.common.core.Dto.Result; import com.evotech.hd.common.core.entity.cloud.BatteryStation; import com.evotech.hd.common.core.entity.cloud.VehicleInfo; import com.evotech.hd.common.core.entity.cloud.vo.BatteryStationVO; @@ -56,20 +55,20 @@ public class BatteryStationServiceImpl implements BatteryStationService { private WechatService wechatService; @Override - public Result add(BatteryStation bs) { + public com.evotech.hd.common.core.entity.Result add(BatteryStation bs) { bs.setCtime(new Date()); boolean b = batteryStationDao.exists(new QueryWrapper() .eq("del_flag", 0) .eq("code", bs.getCode())); if (b) { - return new Result().error("换电站已存在!"); + return new com.evotech.hd.common.core.entity.Result().error("换电站已存在!"); } int n = batteryStationDao.insert(bs); if (n == 1) { addStore(bs); - return new Result().success(n); + return new com.evotech.hd.common.core.entity.Result().success(n); } - return new Result().error("添加换电站出错!"); + return new com.evotech.hd.common.core.entity.Result().error("添加换电站出错!"); } @@ -104,32 +103,32 @@ public class BatteryStationServiceImpl implements BatteryStationService { @Override @Transactional - public Result delete(Integer id) { + public com.evotech.hd.common.core.entity.Result delete(Integer id) { BatteryStation bs = new BatteryStation(); bs.setPkId(id); bs.setDelFlag(1); int n = batteryStationDao.updateById(bs); if (n == 1) { - return new Result().success(n); + return new com.evotech.hd.common.core.entity.Result().success(n); } throw new RuntimeException("删除换电站出错!"); } @Override - public Result update(BatteryStation bs) { + public com.evotech.hd.common.core.entity.Result update(BatteryStation bs) { int n = batteryStationDao.updateById(bs); if (n == 1) { - return new Result().success(n); + return new com.evotech.hd.common.core.entity.Result().success(n); } - return new Result().error("更新换电站失败!"); + return new com.evotech.hd.common.core.entity.Result().error("更新换电站失败!"); } @Override - public Result> list(PageListBatteryStationRequest plbsr) { + public com.evotech.hd.common.core.entity.Result> list(PageListBatteryStationRequest plbsr) { Page page = new Page(plbsr.getPageNo(), plbsr.getPageSize()); List list = batteryStationDao.listStation(page, plbsr); if (list.isEmpty()) { - return new Result>().error(CodeMsg.DATABASE_RESULT_NULL); + return new com.evotech.hd.common.core.entity.Result>().error(CodeMsg.DATABASE_RESULT_NULL); } // page = batteryStationDao.selectPage(page, new QueryWrapper() @@ -142,7 +141,7 @@ public class BatteryStationServiceImpl implements BatteryStationService { // if (page.getRecords().isEmpty()) { // return new Result>().error(CodeMsg.DATABASE_RESULT_NULL); // } - return new Result>().success(page.setRecords(list)); + return new com.evotech.hd.common.core.entity.Result>().success(page.setRecords(list)); } /** @@ -152,7 +151,7 @@ public class BatteryStationServiceImpl implements BatteryStationService { * @return 返回包含密钥对信息的Result对象 */ @Override - public Result> RsaSecretKey(String stationCode) { + public com.evotech.hd.common.core.entity.Result> RsaSecretKey(String stationCode) { // 查询数据库中是否存在对应电站编码的密钥对 BatteryStationSecretKey existingKey = batteryStationSecretKeyDao.selectOne( new QueryWrapper() @@ -164,7 +163,7 @@ public class BatteryStationServiceImpl implements BatteryStationService { Map map = new HashMap<>(); map.put("publickey", existingKey.getPublicKey()); map.put("privatekey", existingKey.getPrivateKey()); - return new Result>().success(map); + return new com.evotech.hd.common.core.entity.Result>().success(map); } else { // 如果不存在密钥对,则生成新的密钥对 KeyPair keyPair = KeyUtil.generateKeyPair(AsymmetricAlgorithm.RSA_ECB_PKCS1.getValue()); @@ -186,17 +185,17 @@ public class BatteryStationServiceImpl implements BatteryStationService { map.put("publickey", publickeyBase64String); map.put("privatekey", privatekeyBase64String); // 返回包含密钥对信息的成功结果 - return new Result>().success(map); + return new com.evotech.hd.common.core.entity.Result>().success(map); } } @Override - public Result> listStation(String plateNum) { + public com.evotech.hd.common.core.entity.Result> listStation(String plateNum) { //过滤未营业的换电站 List list = batteryStationDao.selectList(new QueryWrapper().eq("del_flag", 0).eq("status", 1)); if (list.isEmpty()) { - return new Result>().error(CodeMsg.DATABASE_RESULT_NULL); + return new com.evotech.hd.common.core.entity.Result>().error(CodeMsg.DATABASE_RESULT_NULL); } List res = list.stream().map(i -> { BatteryStationVO vo = new BatteryStationVO(); @@ -209,7 +208,7 @@ public class BatteryStationServiceImpl implements BatteryStationService { .eq("del_flag", 0) .eq("plate_num", plateNum)); if (vi == null) { - return new Result>().error("无车辆信息!"); + return new com.evotech.hd.common.core.entity.Result>().error("无车辆信息!"); } // 过滤未营业的换电站并根据车辆类型过滤 res = res.stream() @@ -222,7 +221,7 @@ public class BatteryStationServiceImpl implements BatteryStationService { .toList(); } - return new Result>().success(res); + return new com.evotech.hd.common.core.entity.Result>().success(res); } @Override @@ -305,14 +304,14 @@ public class BatteryStationServiceImpl implements BatteryStationService { } } - public BaseResponse> loginList(String proxyCode) { - return new BaseResponse>().success(batteryStationDao.selectList(new LambdaQueryWrapper().eq(BatteryStation::getProxyId, proxyCode).select(BatteryStation::getPkId, BatteryStation::getCode))); + public Result> loginList(String proxyCode) { + return new Result>().success(batteryStationDao.selectList(new LambdaQueryWrapper().eq(BatteryStation::getProxyId, proxyCode).select(BatteryStation::getPkId, BatteryStation::getCode))); } @Override - public BaseResponse> resourceList(String pkIds) { + public Result> resourceList(String pkIds) { String[] pkIdArray = pkIds.split(","); - return new BaseResponse>().success(batteryStationDao.selectList(new LambdaQueryWrapper().eq((pkIdArray != null && pkIdArray.length > 0), BatteryStation::getPkId, Arrays.asList(pkIdArray)).eq(BatteryStation::getStatus, 1).eq(BatteryStation::getDelFlag, 0).select(BatteryStation::getPkId, BatteryStation::getCode))); + return new Result>().success(batteryStationDao.selectList(new LambdaQueryWrapper().eq((pkIdArray != null && pkIdArray.length > 0), BatteryStation::getPkId, Arrays.asList(pkIdArray)).eq(BatteryStation::getStatus, 1).eq(BatteryStation::getDelFlag, 0).select(BatteryStation::getPkId, BatteryStation::getCode))); } @Override 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 9f3a193..87c0bf0 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 @@ -5,9 +5,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.evotech.hd.cloud.dao.CompanyDao; import com.evotech.hd.cloud.service.CompanyService; -import com.evotech.hd.common.core.Dto.BaseResponse; +import com.evotech.hd.common.core.Dto.Result; import com.evotech.hd.common.core.entity.BasePageRequest; -import com.evotech.hd.common.core.entity.Result; import com.evotech.hd.common.core.entity.cloud.Company; import com.evotech.hd.common.core.enums.CodeMsg; import jakarta.annotation.Resource; @@ -27,68 +26,68 @@ public class CompanyServiceImpl implements CompanyService { private CompanyDao companyDao; @Override - public Result add(Company company) { + public com.evotech.hd.common.core.entity.Result add(Company company) { company.setCtime(new Date()); int n = companyDao.insert(company); if (n == 1) { - return new Result().success(n); + return new com.evotech.hd.common.core.entity.Result().success(n); } - return new Result().error("添加公司出错!"); + return new com.evotech.hd.common.core.entity.Result().error("添加公司出错!"); } @Override - public Result delete(Integer id) { + public com.evotech.hd.common.core.entity.Result delete(Integer id) { Company company = new Company(); company.setPkId(id); company.setDelFlag(1); int n = companyDao.updateById(company); if (n == 1) { - return new Result().success(n); + return new com.evotech.hd.common.core.entity.Result().success(n); } - return new Result().error("删除公司出错!"); + return new com.evotech.hd.common.core.entity.Result().error("删除公司出错!"); } @Override - public Result update(Company company) { + public com.evotech.hd.common.core.entity.Result update(Company company) { int n = companyDao.updateById(company); if (n == 1) { - return new Result().success(n); + return new com.evotech.hd.common.core.entity.Result().success(n); } - return new Result().error("更新公司失败!"); + return new com.evotech.hd.common.core.entity.Result().error("更新公司失败!"); } @Override - public Result> list(BasePageRequest bpr) { + public com.evotech.hd.common.core.entity.Result> list(BasePageRequest bpr) { Page page = new Page(bpr.getPageNo(), bpr.getPageSize()); page = companyDao.selectPage(page, new QueryWrapper().eq("del_flag", 0)); if (page.getRecords().isEmpty()) { - return new Result>().error(CodeMsg.DATABASE_RESULT_NULL); + return new com.evotech.hd.common.core.entity.Result>().error(CodeMsg.DATABASE_RESULT_NULL); } - return new Result>().success(page); + return new com.evotech.hd.common.core.entity.Result>().success(page); } @Override - public Result> companyByCode(String ccode) { + public com.evotech.hd.common.core.entity.Result> companyByCode(String ccode) { Company one = companyDao.selectOne(new QueryWrapper().eq("ccode", ccode)); if (one == null) { - return new Result>().error(CodeMsg.DATABASE_RESULT_NULL); + return new com.evotech.hd.common.core.entity.Result>().error(CodeMsg.DATABASE_RESULT_NULL); } Map m = new HashMap(); m.put("ccode", one.getCcode()); m.put("cname", one.getCname()); m.put("address", one.getAddress()); m.put("phone", one.getPhone()); - return new Result>().success(m); + return new com.evotech.hd.common.core.entity.Result>().success(m); } @Override - public BaseResponse loginOne(String code) { - return new BaseResponse().success(companyDao.selectOne(new LambdaQueryWrapper().eq(Company::getCcode, code))); + public Result loginOne(String code) { + return new Result().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))); + public Result> resourceList() { + return new Result>().success(companyDao.selectList(new LambdaQueryWrapper().select(Company::getCcode, Company::getCname))); } } diff --git a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/impl/DHDeviceServiceImpl.java b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/impl/DHDeviceServiceImpl.java index 118eb45..7830779 100644 --- a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/impl/DHDeviceServiceImpl.java +++ b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/impl/DHDeviceServiceImpl.java @@ -7,7 +7,7 @@ import com.evotech.hd.cloud.service.BatteryStationService; import com.evotech.hd.cloud.service.DHDeviceService; import com.evotech.hd.cloud.service.rpc.ResourceService; import com.evotech.hd.common.core.Dto.DeviceDto; -import com.evotech.hd.common.core.Dto.ResponseUtil; +import com.evotech.hd.common.core.Dto.ResultUtil; import com.evotech.hd.common.core.constant.HDConstant; import com.evotech.hd.common.core.entity.Result; import com.evotech.hd.common.core.entity.resource.ProxyOperater; @@ -47,7 +47,7 @@ public class DHDeviceServiceImpl implements DHDeviceService { @Override public Result> findList() { List result = new ArrayList<>(); - List proxyResult = ResponseUtil.getValue(resourceService.deviceList()); + List proxyResult = ResultUtil.getValue(resourceService.deviceList()); if(Collections.isNotEmpty(proxyResult)){ proxyResult.forEach(proxy ->{ result.add(new DeviceDto(proxy.getPocode(),"0", proxy.getPoname(),"","", buildStation(proxy.getPocode()))); diff --git a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/impl/HomeServiceImpl.java b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/impl/HomeServiceImpl.java index 3c7ffa1..cba883a 100644 --- a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/impl/HomeServiceImpl.java +++ b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/impl/HomeServiceImpl.java @@ -2,28 +2,39 @@ package com.evotech.hd.cloud.service.impl; import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DateUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.hutool.json.JSONUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.evotech.hd.cloud.dao.*; -import com.evotech.hd.cloud.entity.HomeStationOrderData; import com.evotech.hd.cloud.entity.request.HomeDataRequest; import com.evotech.hd.cloud.entity.vo.*; import com.evotech.hd.cloud.service.HomeService; +import com.evotech.hd.common.core.Dto.Result; +import com.evotech.hd.common.core.Dto.request.HomeRequestDto; +import com.evotech.hd.common.core.Dto.result.home.HomeOrderSwapBatteryAmountDto; +import com.evotech.hd.common.core.Dto.result.home.HomeOrderSwapBatteryHalfYearAmountDto; +import com.evotech.hd.common.core.Dto.result.home.HomeOrderSwapBatteryProportionDto; +import com.evotech.hd.common.core.constant.HDConstant; import com.evotech.hd.common.core.dao.cloud.HomeDataOrderSwapCollateDao; import com.evotech.hd.common.core.dao.cloud.HomeDataTradeCollateDao; +import com.evotech.hd.common.core.dao.cloud.OrderSwapBatteryDao; import com.evotech.hd.common.core.dao.resource.ProxyOperaterDao; import com.evotech.hd.common.core.dao.wechat.WechatUserDao; -import com.evotech.hd.common.core.entity.Result; import com.evotech.hd.common.core.entity.cloud.*; import com.evotech.hd.common.core.entity.resource.ProxyOperater; import com.evotech.hd.common.core.entity.wechat.WechatUser; -import com.evotech.hd.common.core.enums.PayTypeEnums; -import com.evotech.hd.common.core.enums.TradeTypeEnums; +import com.evotech.hd.common.core.enums.CodeMsg; +import com.evotech.hd.common.core.utils.Collections; +import com.evotech.hd.common.permission.util.RedisPermissionUtils; +import com.evotech.hd.common.redis.utils.RedisUtil; import jakarta.annotation.Resource; +import org.apache.commons.lang3.ObjectUtils; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; -import java.util.ArrayList; +import java.math.BigDecimal; import java.util.Date; +import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -46,43 +57,44 @@ public class HomeServiceImpl implements HomeService { private WechatUserDao wechatUserDao; @Resource private VehicleInfoDao vehicleInfoDao; -// @Resource -// private OrderSwapBatteryDao orderSwapBatteryDao; + @Resource + private OrderSwapBatteryDao orderSwapBatteryDao; // @Resource // private TradeDetailDao tradeDetailDao; @Resource private HomeDataOrderSwapCollateDao homeDataOrderSwapCollateDao; @Resource private HomeDataTradeCollateDao homeDataTradeCollateDao; - + @Resource + private RedisUtil redisUtil; + @Override public Result homeData1(HomeDataRequest hd) { // 1. 运营商 - List list1 = proxyOperaterDao.selectList(new QueryWrapper() - .eq(StringUtils.hasText(hd.getPoCode()), "pocode", hd.getPoCode())); + List list1 = proxyOperaterDao.selectList(new LambdaQueryWrapper() + .eq(StringUtils.hasText(hd.getPoCode()), ProxyOperater::getPocode, hd.getPoCode())); HomeData1 data = new HomeData1(); data.setProxyer(list1.size()); // 2. 换电站 - List list2 = batteryStationDao.selectList(new QueryWrapper() - .eq("del_flag", 0) - .eq(StringUtils.hasText(hd.getPoCode()), "proxy_id", hd.getPoCode()) - .eq(StringUtils.hasText(hd.getStationCode()), "code", hd.getStationCode())); + List list2 = batteryStationDao.selectList(new LambdaQueryWrapper() + .eq(BatteryStation::getDelFlag, 0) + .eq(StringUtils.hasText(hd.getPoCode()), BatteryStation::getProxyId, hd.getPoCode()) + .eq(StringUtils.hasText(hd.getStationCode()), BatteryStation::getCode, hd.getStationCode()).select(BatteryStation::getStatus)); data.setTotalStation(list2.size()); int size1 = list2.stream().filter(i -> i.getStatus() == 1).toList().size(); data.setWorkStation(size1); // 电池 - List list3 = batteryStationDcDao.selectList(new QueryWrapper() - .eq("del_flag", 0) - .eq(StringUtils.hasText(hd.getPoCode()), "proxy_id", hd.getPoCode()) - .eq(StringUtils.hasText(hd.getStationCode()), "station_code", hd.getStationCode())); + List list3 = batteryStationDcDao.selectList(new LambdaQueryWrapper() + .eq(BatteryStationDc::getDelFlag, 0) + .eq(StringUtils.hasText(hd.getStationCode()), BatteryStationDc::getSourceCode, hd.getStationCode()).select(BatteryStationDc::getStatus)); data.setTotalDC(list3.size()); int dcSize1 = list3.stream().filter(i -> i.getStatus() == 2).toList().size(); data.setChargeDC(dcSize1); int dcSize2 = list3.stream().filter(i -> i.getStatus() == 3).toList().size(); data.setAvailableDC(dcSize2); // 机器人 - List list4 = batteryStationRobotDao.selectList(new QueryWrapper() - .eq(StringUtils.hasText(hd.getStationCode()), "station_code", hd.getStationCode())); + List list4 = batteryStationRobotDao.selectList(new LambdaQueryWrapper() + .eq(StringUtils.hasText(hd.getStationCode()), BatteryStationRobot::getStationCode, hd.getStationCode()).select(BatteryStationRobot::getStatus)); data.setTotalRobot(list4.size()); int robotSize1 = list4.stream().filter(i -> i.getStatus() == 1).toList().size(); data.setAvailableRobot(robotSize1); @@ -94,13 +106,13 @@ public class HomeServiceImpl implements HomeService { public Result homeData2() { HomeData2 data = new HomeData2(); // 1. 公司 - Long count1 = companyDao.selectCount(new QueryWrapper()); + Long count1 = companyDao.selectCount(new LambdaQueryWrapper().select(Company::getPkId)); data.setConpany(count1.intValue()); // 2. 用户 - Long count2 = wechatUserDao.selectCount(new QueryWrapper()); + Long count2 = wechatUserDao.selectCount(new LambdaQueryWrapper().select(WechatUser::getPkId)); data.setTotalUser(count2.intValue()); // 3. 车辆 - Long count3 = vehicleInfoDao.selectCount(new QueryWrapper()); + Long count3 = vehicleInfoDao.selectCount(new LambdaQueryWrapper().select(VehicleInfo::getPkId)); data.setTotalCar(count3.intValue()); return new Result().success(data); @@ -109,160 +121,102 @@ public class HomeServiceImpl implements HomeService { @Override public Result homeData3(HomeDataRequest hd) { if (hd.getTimeBegin() == null || hd.getTimeEnd() == null) { - return new Result().error("时间范围未填写!"); + return new Result().error(CodeMsg.PARAM_ERROR,"时间范围未填写!"); } HomeData3 data = new HomeData3(); data.setDayBegin(DateUtil.format(hd.getTimeBegin(), DatePattern.PURE_DATE_PATTERN)); - data.setDayEnd(DateUtil.format(hd.getTimeEnd(), DatePattern.PURE_DATE_PATTERN)); - List collateList = homeDataOrderSwapCollateDao.selectList(new QueryWrapper() - .ge("day", data.getDayBegin()) - .le("day", data.getDayEnd())); - Integer total = collateList.stream().collect(Collectors.summingInt(i -> i.getQuantity())); - data.setQuantity(total); - Integer todo = collateList.stream().filter(i -> i.getStatus() == 1).collect(Collectors.summingInt(i -> i.getQuantity())); - data.setToDoQuantity(todo); - Integer finish = collateList.stream().filter(i -> i.getStatus() == 2).collect(Collectors.summingInt(i -> i.getQuantity())); - data.setFinishedQuantity(finish); - Integer cancle = collateList.stream().filter(i -> i.getStatus() == 3).collect(Collectors.summingInt(i -> i.getQuantity())); - data.setCancleQuantity(cancle); - - Map map = collateList.stream() - .collect(Collectors.groupingBy(HomeDataOrderSwapCollate::getStationCode, - Collectors.summingInt(HomeDataOrderSwapCollate::getQuantity))); - List stationList = batteryStationDao.selectList(new QueryWrapper()); - List stationOrderDataList = new ArrayList(); - for (Map.Entry entry : map.entrySet()) { - HomeStationOrderData stationOrderData = new HomeStationOrderData(); - String stationCode = entry.getKey(); - String name = stationList.stream().filter(i -> stationCode.equals(i.getCode())).findFirst().get().getName(); - stationOrderData.setStationCode(stationCode); - stationOrderData.setStationName(name); - stationOrderData.setQuantity(entry.getValue()); - stationOrderDataList.add(stationOrderData); + data.setDayEnd(DateUtil.format(hd.getTimeEnd(), DatePattern.PURE_DATE_PATTERN)); + + List list = orderSwapBatteryDao.homeFindProportionData(new HomeRequestDto(hd.getTimeBegin(), hd.getTimeEnd())); + if(Collections.isNotEmpty(list)){ + Long total = list.stream().collect(Collectors.summingLong(i -> i.getQuantity())); + data.setQuantity(total); } - - data.setStationOrderDataList(stationOrderDataList);; + data.setStationOrderDataList(list);; return new Result().success(data); } @Override public Result homeData4(HomeDataRequest hd) { if (hd.getTimeBegin() == null || hd.getTimeEnd() == null) { - return new Result().error("时间范围未填写!"); + return new Result().error(CodeMsg.PARAM_ERROR,"时间范围未填写!"); } HomeData4 data = new HomeData4(); data.setDayBegin(DateUtil.format(hd.getTimeBegin(), DatePattern.PURE_DATE_PATTERN)); data.setDayEnd(DateUtil.format(hd.getTimeEnd(), DatePattern.PURE_DATE_PATTERN)); - // 交易 - /*** - * @TODO: 待定 - */ - List collateList = homeDataTradeCollateDao.selectList(new QueryWrapper() - .ge("day", data.getDayBegin()) - .le("day", data.getDayEnd())); - Integer quantity = collateList.stream().collect(Collectors.summingInt(HomeDataTradeCollate::getQuantity)); - data.setQuantity(quantity); - Integer chargeTradeQuantity = collateList.stream().filter(i -> i.getTradeType() == 1).collect(Collectors.summingInt(HomeDataTradeCollate::getQuantity)); - data.setChargeTradeQuantity(chargeTradeQuantity); - Integer orderTradeQuantity = collateList.stream().filter(i -> i.getTradeType() == 2).collect(Collectors.summingInt(HomeDataTradeCollate::getQuantity)); - data.setOrderTradeQuantity(orderTradeQuantity); - Integer refundTradeQuantity = collateList.stream().filter(i -> i.getTradeType() == 3).collect(Collectors.summingInt(HomeDataTradeCollate::getQuantity)); - data.setRefundTradeQuantity(refundTradeQuantity); - - Double chargeAmount = collateList.stream().filter(i -> i.getTradeType() == 1).collect(Collectors.summingDouble(HomeDataTradeCollate::getTradeAmount)); - Double orderAmount = collateList.stream().filter(i -> i.getTradeType() == 2 && i.getPayType() != 1).collect(Collectors.summingDouble(HomeDataTradeCollate::getTradeAmount)); - data.setTotalMoney(chargeAmount + orderAmount); - Double refundSum = collateList.stream().filter(i -> i.getTradeType() == 9).collect(Collectors.summingDouble(HomeDataTradeCollate::getTradeAmount)); - data.setTotalRefund(refundSum); - + List list = orderSwapBatteryDao.homeFindAmountData(new HomeRequestDto(hd.getTimeBegin(), hd.getTimeEnd())); + if(Collections.isNotEmpty(list)){ + data.setTotalMoney(list.stream().filter(i -> Integer.valueOf(7).equals(i.getStatus())).collect(Collectors.summingDouble(i -> i.getAmount()))); + data.setTotalRefund(list.stream().filter(i -> Integer.valueOf(-1).equals(i.getStatus())).collect(Collectors.summingDouble(i -> i.getAmount()))); + } return new Result().success(data); } @Override public Result> homeData5(HomeDataRequest hd) { - List list = new ArrayList(); - // 1. 找出6个月 - String[] monthArr = new String[7]; + Integer id = RedisPermissionUtils.getUserPkId(); + String key = HDConstant.LOGIN_CACHE_KEY_PREFIX + HDConstant.IndexConstant.HOME_DATA_5+":"+id; + List list = Collections.emptyList(); + if(!redisUtil.hasKey(key)){ + Date d = new Date(); + list = orderSwapBatteryDao.homeFindHalfYearOrderData(new HomeRequestDto(DateUtil.offsetMonth(d, -6), d)).stream().map(data->{ + HomeData5 homeData5 = new HomeData5(); + BeanUtils.copyProperties(data, homeData5); + homeData5.setTotalMoney(new BigDecimal(data.getTotalMoney()).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()); + return homeData5; + }).sorted((o1,o2) ->{ + return o1.getMonth().compareTo(o2.getMonth()); + }).collect(Collectors.toList()); + redisUtil.set(key, JSONUtil.toJsonStr(list)); + }else{ + list = JSONUtil.toList(redisUtil.getStringValue(key), HomeData5.class); + } + // 1. 找出6个月\ Date d = new Date(); - monthArr[0] = DateUtil.format(d, DatePattern.SIMPLE_MONTH_FORMATTER); - for (int i = 1; i < monthArr.length; i++) { - monthArr[i] = DateUtil.format(DateUtil.offsetMonth(d, -i), DatePattern.SIMPLE_MONTH_FORMATTER); - } - - String beginDay = DateUtil.format(DateUtil.beginOfMonth(DateUtil.offsetMonth(d, -6)), DatePattern.PURE_DATE_FORMAT); - List collateList = homeDataOrderSwapCollateDao.selectList(new QueryWrapper() - .eq(StringUtils.hasText(hd.getStationCode()), "station_code", hd.getStationCode()) - .ge("day", beginDay)); - - Map map1 = collateList.stream() - .collect(Collectors.groupingBy(i -> i.getDay().substring(0, 6), Collectors.summingInt(HomeDataOrderSwapCollate::getQuantity))); - - System.out.println(map1); - - // 订单对应的钱,先不要了 -// Map map2 = orderList.parallelStream().filter(i -> i.getDelFlag() == 0 && i.getStatus() <= 7).filter(i -> i.getAmount() != null) -// .collect(Collectors.groupingBy(i -> DateUtil.format(i.getOrderTime(), DatePattern.SIMPLE_MONTH_FORMATTER), -// Collectors.reducing(0, OrderSwapBattery::getAmount, Integer::sum) -// )); - - for (int i = 0; i < monthArr.length; i++) { - HomeData5 data = new HomeData5(); - data.setMonth(monthArr[i]); - data.setQuantity(map1.get(monthArr[i]) == null ? 0 : map1.get(monthArr[i])); - list.add(data); - } - list = list.stream().sorted((i1, i2) -> i1.getMonth().compareTo(i2.getMonth())).toList(); - return new Result>().success(list); } @Override public Result> homeData6(HomeDataRequest hd) { - List list = new ArrayList(); - // 1. 找出6个月 - String[] monthArr = new String[7]; - Date d = new Date(); - monthArr[0] = DateUtil.format(d, DatePattern.SIMPLE_MONTH_FORMATTER); - for (int i = 1; i < monthArr.length; i++) { - monthArr[i] = DateUtil.format(DateUtil.offsetMonth(d, -i), DatePattern.SIMPLE_MONTH_FORMATTER); - } - - String beginDay = DateUtil.format(DateUtil.beginOfMonth(DateUtil.offsetMonth(d, -6)), DatePattern.PURE_DATE_FORMAT); - List collateList = homeDataTradeCollateDao.selectList(new QueryWrapper() - .ge("day", beginDay)); - // 余额支付 - Map map0 = collateList.stream().filter(i -> i.getTradeType() == TradeTypeEnums.PAYORDER.getCode() && i.getPayType() == PayTypeEnums.WALLET.getCode()) - .collect(Collectors.groupingBy(i -> i.getDay().substring(0, 6), Collectors.summingInt(HomeDataTradeCollate::getTradeAmount))); - Map map01 = collateList.stream().filter(i -> i.getTradeType() == TradeTypeEnums.PAYORDER.getCode() && i.getPayType() == PayTypeEnums.WALLET.getCode()) - .collect(Collectors.groupingBy(i -> i.getDay().substring(0, 6), Collectors.summingInt(HomeDataTradeCollate::getQuantity))); + Integer id = RedisPermissionUtils.getUserPkId(); + String key = HDConstant.LOGIN_CACHE_KEY_PREFIX + HDConstant.IndexConstant.HOME_DATA_6+":"+id; + List list = Collections.emptyList(); + if(!redisUtil.hasKey(key)){ + Date d = new Date(); + Map> mapList= orderSwapBatteryDao.homeFindHalfYearAmountData(new HomeRequestDto(DateUtil.offsetMonth(d, -6), d)).stream().collect(Collectors.groupingBy(HomeOrderSwapBatteryHalfYearAmountDto::getMonth)); + Iterator it = mapList.keySet().iterator(); + while (it.hasNext()){ + String month = it.next(); + HomeData6 homeData6 = new HomeData6(); + homeData6.setMonth(month); + List values = mapList.get(month); + HomeOrderSwapBatteryHalfYearAmountDto wechat = values.stream().filter(f -> Integer.valueOf(7).equals(f.getStatus()) && Integer.valueOf(2).equals(f.getPayType())).findFirst().orElse(null); + if(ObjectUtils.isNotEmpty(wechat)){ + homeData6.setInQuantity(wechat.getQuantity()); + homeData6.setInMoney(wechat.getTotalMoney()); + } - // 收入 - Map map1 = collateList.stream().filter(i -> i.getTradeType() == TradeTypeEnums.RECHARGE.getCode() || - (i.getTradeType() == TradeTypeEnums.PAYORDER.getCode() && i.getPayType() != PayTypeEnums.WALLET.getCode())) - .collect(Collectors.groupingBy(i -> i.getDay().substring(0, 6), Collectors.summingInt(HomeDataTradeCollate::getTradeAmount))); - Map map11 = collateList.stream().filter(i -> i.getTradeType() == TradeTypeEnums.RECHARGE.getCode() || - (i.getTradeType() == TradeTypeEnums.PAYORDER.getCode() && i.getPayType() != PayTypeEnums.WALLET.getCode())) - .collect(Collectors.groupingBy(i -> i.getDay().substring(0, 6), Collectors.summingInt(HomeDataTradeCollate::getQuantity))); - // 退款 - Map map2 = collateList.stream().filter(i -> i.getTradeType() == TradeTypeEnums.REFUND.getCode()) - .collect(Collectors.groupingBy(i -> i.getDay().substring(0, 6), Collectors.summingInt(HomeDataTradeCollate::getTradeAmount))); - Map map21 = collateList.stream().filter(i -> i.getTradeType() == TradeTypeEnums.REFUND.getCode()) - .collect(Collectors.groupingBy(i -> i.getDay().substring(0, 6), Collectors.summingInt(HomeDataTradeCollate::getQuantity))); - for (int i = 0; i < monthArr.length; i++) { - HomeData6 data = new HomeData6(); - data.setMonth(monthArr[i]); - data.setWalletMoney(map0.get(monthArr[i]) == null ? 0 : map0.get(monthArr[i])); - data.setWalletQuantity(map01.get(monthArr[i]) == null ? 0 : map01.get(monthArr[i])); - data.setInMoney(map1.get(monthArr[i]) == null ? 0 : map1.get(monthArr[i])); - data.setInQuantity(map11.get(monthArr[i]) == null ? 0 : map11.get(monthArr[i])); - data.setRefundMoney(map2.get(monthArr[i]) == null ? 0 : map2.get(monthArr[i])); - data.setRefundQuantity(map21.get(monthArr[i]) == null ? 0 : map21.get(monthArr[i])); - - list.add(data); + HomeOrderSwapBatteryHalfYearAmountDto account = values.stream().filter(f -> Integer.valueOf(7).equals(f.getStatus()) && Integer.valueOf(1).equals(f.getPayType())).findFirst().orElse(null); + if(ObjectUtils.isNotEmpty(account)){ + homeData6.setWalletQuantity(account.getQuantity()); + homeData6.setWalletMoney(account.getTotalMoney()); + } + + List refund = values.stream().filter(f -> Integer.valueOf(-1).equals(f.getStatus())).collect(Collectors.toList()); + if(Collections.isNotEmpty(refund)){ + homeData6.setRefundQuantity(refund.stream().collect(Collectors.summingLong(i -> i.getQuantity()))); + homeData6.setRefundMoney(refund.stream().collect(Collectors.summingDouble(i -> i.getTotalMoney()))); + } + list.add(homeData6); + } + list = list.stream().sorted((o1,o2) ->{ + return o1.getMonth().compareTo(o2.getMonth()); + }).collect(Collectors.toList()); + redisUtil.set(key, JSONUtil.toJsonStr(list)); + }else{ + list = JSONUtil.toList(redisUtil.getStringValue(key), HomeData6.class); } - - list = list.stream().sorted((i1, i2) -> i1.getMonth().compareTo(i2.getMonth())).toList(); return new Result>().success(list); } @@ -271,85 +225,27 @@ public class HomeServiceImpl implements HomeService { HomeData7 data = new HomeData7(); Date d = new Date(); // 按月 - if (type == 1) { - Date beginOfMonth = DateUtil.beginOfMonth(d); - Date lastBeginOfMonth = DateUtil.offsetMonth(beginOfMonth, -1); - Date last2BeginOfMonth = DateUtil.offsetMonth(lastBeginOfMonth, -1); - String beginDayOfMonth = DateUtil.format(beginOfMonth, DatePattern.PURE_DATE_FORMATTER); - String lastBeginDayOfMonth = DateUtil.format(lastBeginOfMonth, DatePattern.PURE_DATE_FORMATTER); - String last2BeginDayOfMonth = DateUtil.format(last2BeginOfMonth, DatePattern.PURE_DATE_FORMATTER); - data.setMonth(lastBeginDayOfMonth.substring(0, 6)); - // 订单 - List monthList = homeDataOrderSwapCollateDao.selectList(new QueryWrapper() -// .ne("status", OrderStatusEnums.CANCLE.getCode()) - .ge("day", lastBeginDayOfMonth) - .lt("day", beginDayOfMonth)); - data.setQuantity(monthList.isEmpty()?0:monthList.stream().collect(Collectors.summingInt(HomeDataOrderSwapCollate::getQuantity))); - List lastMonthList = homeDataOrderSwapCollateDao.selectList(new QueryWrapper() -// .ne("status", OrderStatusEnums.CANCLE.getCode()) - .ge("day", last2BeginDayOfMonth) - .lt("day", lastBeginDayOfMonth)); - data.setLastMonthQuantity(lastMonthList.isEmpty()?0:lastMonthList.stream().collect(Collectors.summingInt(HomeDataOrderSwapCollate::getQuantity))); - List lastYearList = homeDataOrderSwapCollateDao.selectList(new QueryWrapper() -// .ne("status", OrderStatusEnums.CANCLE.getCode()) - .ge("day", DateUtil.format(DateUtil.offsetYear(lastBeginOfMonth, -1), DatePattern.PURE_DATE_FORMATTER)) - .lt("day", DateUtil.format(DateUtil.offsetYear(beginOfMonth, -1), DatePattern.PURE_DATE_FORMATTER))); - data.setLastYearQuantity(lastYearList.isEmpty()?0:lastYearList.stream().collect(Collectors.summingInt(HomeDataOrderSwapCollate::getQuantity))); - // 交易 - List tradeList = homeDataTradeCollateDao.selectList(new QueryWrapper() - .ge("day", lastBeginDayOfMonth) - .lt("day", beginDayOfMonth)); - data.setTradeAmount(tradeList.isEmpty()?0:tradeList.stream().collect(Collectors.summingInt(HomeDataTradeCollate::getTradeAmount))); - List lastMonthTradeList = homeDataTradeCollateDao.selectList(new QueryWrapper() - .ge("day", last2BeginDayOfMonth) - .lt("day", lastBeginDayOfMonth)); - data.setLastMonthTradeAmount(lastMonthTradeList.isEmpty()?0:lastMonthTradeList.stream().collect(Collectors.summingInt(HomeDataTradeCollate::getTradeAmount))); - List lastYearTradeList = homeDataTradeCollateDao.selectList(new QueryWrapper() - .ge("day", DateUtil.format(DateUtil.offsetYear(lastBeginOfMonth, -1), DatePattern.PURE_DATE_FORMATTER)) - .lt("day", DateUtil.format(DateUtil.offsetYear(beginOfMonth, -1), DatePattern.PURE_DATE_FORMATTER))); - data.setLastYearTradeAmount(lastYearTradeList.isEmpty()?0:lastYearTradeList.stream().collect(Collectors.summingInt(HomeDataTradeCollate::getTradeAmount))); - - return new Result().success(data); - } - // 按年 - Date beginOfYear = DateUtil.beginOfYear(d); - Date lastBeginOfYear = DateUtil.offsetYear(beginOfYear, -1); - Date last2BeginOfYear = DateUtil.offsetYear(lastBeginOfYear, -1); - String beginDayOfYear = DateUtil.format(beginOfYear, DatePattern.PURE_DATE_FORMATTER); - String lastBeginDayOfYear = DateUtil.format(lastBeginOfYear, DatePattern.PURE_DATE_FORMATTER); - String last2BeginDayOfYear = DateUtil.format(last2BeginOfYear, DatePattern.PURE_DATE_FORMATTER); - // 订单 - List yearList = homeDataOrderSwapCollateDao.selectList(new QueryWrapper() -// .ne("status", OrderStatusEnums.CANCLE.getCode()) - .ge("day", beginDayOfYear) - .lt("day", DateUtil.format(d, DatePattern.PURE_DATE_FORMATTER))); - data.setQuantity(yearList.isEmpty()?0:yearList.stream().collect(Collectors.summingInt(HomeDataOrderSwapCollate::getQuantity))); - List lastYearList = homeDataOrderSwapCollateDao.selectList(new QueryWrapper() -// .ne("status", OrderStatusEnums.CANCLE.getCode()) - .ge("day", lastBeginDayOfYear) - .lt("day", beginDayOfYear)); - data.setLastYearQuantity(lastYearList.isEmpty()?0:lastYearList.stream().collect(Collectors.summingInt(HomeDataOrderSwapCollate::getQuantity))); - List last2YearList = homeDataOrderSwapCollateDao.selectList(new QueryWrapper() -// .ne("status", OrderStatusEnums.CANCLE.getCode()) - .ge("day", last2BeginDayOfYear) - .lt("day", lastBeginDayOfYear)); - data.setLast2YearQuantity(last2YearList.isEmpty()?0:last2YearList.stream().collect(Collectors.summingInt(HomeDataOrderSwapCollate::getQuantity))); - - // 交易 - List tradeList = homeDataTradeCollateDao.selectList(new QueryWrapper() - .ge("day", beginDayOfYear) - .lt("day", DateUtil.format(d, DatePattern.PURE_DATE_FORMATTER))); - data.setTradeAmount(tradeList.isEmpty()?0:tradeList.stream().collect(Collectors.summingInt(HomeDataTradeCollate::getTradeAmount))); - List lastYearTradeList = homeDataTradeCollateDao.selectList(new QueryWrapper() - .ge("day", lastBeginDayOfYear) - .lt("day", beginDayOfYear)); - data.setLastYearTradeAmount(lastYearTradeList.isEmpty()?0:lastYearTradeList.stream().collect(Collectors.summingInt(HomeDataTradeCollate::getTradeAmount))); - List last2YearTradeList = homeDataTradeCollateDao.selectList(new QueryWrapper() - .ge("day", last2BeginDayOfYear) - .lt("day", lastBeginDayOfYear)); - data.setLast2YearTradeAmount(last2YearTradeList.isEmpty()?0:last2YearTradeList.stream().collect(Collectors.summingInt(HomeDataTradeCollate::getTradeAmount))); - + Date month = DateUtil.beginOfMonth(d); + Date beforeMonth = DateUtil.offsetMonth(month, -1); + Date beforeYearMonth = DateUtil.offsetYear(d, -1); + data.setMonth(DateUtil.format(month, "yyyy-MM")); + //订单数量 + data.setQuantity(orderSwapBatteryDao.homeFindOrderCountData(month)); + data.setTradeAmount(orderSwapBatteryDao.homeFindOrderAmountData(month)); + //环比 + data.setLastMonthQuantity(orderSwapBatteryDao.homeFindOrderCountData(beforeMonth)); + data.setLastMonthTradeAmount(orderSwapBatteryDao.homeFindOrderAmountData(beforeMonth)); + //同比 + data.setLastYearQuantity(orderSwapBatteryDao.homeFindOrderCountData(beforeYearMonth)); + data.setLastYearTradeAmount(orderSwapBatteryDao.homeFindOrderAmountData(beforeYearMonth)); return new Result().success(data); } + @Override + public void loginData() { + HomeDataRequest hd = new HomeDataRequest(); + homeData5(hd); + homeData6(hd); + } + } diff --git a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/impl/IndependentAccountServiceImpl.java b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/impl/IndependentAccountServiceImpl.java index dc56c14..a9285e9 100644 --- a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/impl/IndependentAccountServiceImpl.java +++ b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/impl/IndependentAccountServiceImpl.java @@ -9,8 +9,8 @@ import com.evotech.hd.cloud.entity.request.IndependentAccountRequest; import com.evotech.hd.cloud.service.IndependentAccountDetailService; import com.evotech.hd.cloud.service.IndependentAccountService; import com.evotech.hd.cloud.service.rpc.ResourceService; -import com.evotech.hd.common.core.Dto.BaseResponse; -import com.evotech.hd.common.core.Dto.ResponseUtil; +import com.evotech.hd.common.core.Dto.Result; +import com.evotech.hd.common.core.Dto.ResultUtil; import com.evotech.hd.common.core.entity.cloud.BatteryStation; import com.evotech.hd.common.core.entity.cloud.IndependentAccount; import com.evotech.hd.common.core.entity.cloud.TaxPoint; @@ -57,7 +57,7 @@ public class IndependentAccountServiceImpl implements IndependentAccountService log.error("未找到对应的站点信息. 站点code{}", stationCode); return; } - ProxyOperater proxyOperater = ResponseUtil.getValue(resourceService.basicInfo(batteryStation.getProxyId())); + ProxyOperater proxyOperater = ResultUtil.getValue(resourceService.basicInfo(batteryStation.getProxyId())); if(ObjectUtils.isEmpty(proxyOperater)){ log.error("未找到对应的运营商信息. 站点code{}", stationCode); return; @@ -96,16 +96,16 @@ public class IndependentAccountServiceImpl implements IndependentAccountService } @Override - public BaseResponse> pageList(IndependentAccountRequest params) { + public Result> pageList(IndependentAccountRequest params) { Page page = new Page(params.getPageNo(), params.getPageSize()); List list = independentAccountDao.pageList(page, params); if (list.isEmpty()) { - return new BaseResponse>().error(CodeMsg.DATABASE_RESULT_NULL); + return new Result>().error(CodeMsg.DATABASE_RESULT_NULL); } IndependentAccount totalAmount = independentAccountDao.countAmount(params); - return new BaseResponse>().success(Collections.asMap("pageList", page.setRecords(list), "totalAmount", totalAmount)); + return new Result>().success(Collections.asMap("pageList", page.setRecords(list), "totalAmount", totalAmount)); } diff --git a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/impl/VehicleServiceImpl.java b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/impl/VehicleServiceImpl.java index 7ad6af8..61cc484 100644 --- a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/impl/VehicleServiceImpl.java +++ b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/impl/VehicleServiceImpl.java @@ -7,8 +7,7 @@ import com.evotech.hd.cloud.dao.VehicleInfoDao; import com.evotech.hd.cloud.dao.VehicleWechatUserRelationDao; import com.evotech.hd.cloud.entity.request.PageListVehicleRequest; import com.evotech.hd.cloud.service.VehicleService; -import com.evotech.hd.common.core.Dto.BaseResponse; -import com.evotech.hd.common.core.entity.Result; +import com.evotech.hd.common.core.Dto.Result; import com.evotech.hd.common.core.entity.cloud.VehicleInfo; import com.evotech.hd.common.core.entity.cloud.VehicleWechatUserRelation; import com.evotech.hd.common.core.enums.CodeMsg; @@ -29,38 +28,38 @@ public class VehicleServiceImpl implements VehicleService { private VehicleWechatUserRelationDao vehicleWechatUserRelationDao; @Override - public Result add(VehicleInfo vi) { + public com.evotech.hd.common.core.entity.Result add(VehicleInfo vi) { vi.setCtime(new Date()); int n = vehicleInfoDao.insert(vi); if (n == 1) { - return new Result().success(n); + return new com.evotech.hd.common.core.entity.Result().success(n); } - return new Result().error("添加车辆出错!"); + return new com.evotech.hd.common.core.entity.Result().error("添加车辆出错!"); } @Override - public Result delete(Integer id) { + public com.evotech.hd.common.core.entity.Result delete(Integer id) { VehicleInfo vi = new VehicleInfo(); vi.setPkId(id); vi.setDelFlag(1); int n = vehicleInfoDao.updateById(vi); if (n == 1) { - return new Result().success(n); + return new com.evotech.hd.common.core.entity.Result().success(n); } throw new RuntimeException("删除车辆出错!"); } @Override - public Result update(VehicleInfo vi) { + public com.evotech.hd.common.core.entity.Result update(VehicleInfo vi) { int n = vehicleInfoDao.updateById(vi); if (n == 1) { - return new Result().success(n); + return new com.evotech.hd.common.core.entity.Result().success(n); } - return new Result().error("更新车辆失败!"); + return new com.evotech.hd.common.core.entity.Result().error("更新车辆失败!"); } @Override - public Result> list(PageListVehicleRequest plvr) { + public com.evotech.hd.common.core.entity.Result> list(PageListVehicleRequest plvr) { Page page = new Page(plvr.getPageNo(), plvr.getPageSize()); page = vehicleInfoDao.selectPage(page, new QueryWrapper() @@ -76,83 +75,83 @@ public class VehicleServiceImpl implements VehicleService { .ne("del_flag", 1) .orderByAsc("plate_num")); if (page.getRecords().isEmpty()) { - return new Result>().error(CodeMsg.DATABASE_RESULT_NULL); + return new com.evotech.hd.common.core.entity.Result>().error(CodeMsg.DATABASE_RESULT_NULL); } - return new Result>().success(page); + return new com.evotech.hd.common.core.entity.Result>().success(page); } @Override - public Result companyRelation(String plateNum, String ccode, String cname) { + public com.evotech.hd.common.core.entity.Result companyRelation(String plateNum, String ccode, String cname) { VehicleInfo vi = new VehicleInfo(); vi.setCcode(ccode); vi.setCname(cname); vi.setOwnerType(2); int n = vehicleInfoDao.update(vi, new QueryWrapper().eq("plate_num", plateNum)); if (n == 1) { - return new Result().success(n); + return new com.evotech.hd.common.core.entity.Result().success(n); } - return new Result().error("关联公司失败!"); + return new com.evotech.hd.common.core.entity.Result().error("关联公司失败!"); } @Override - public Result delCompanyRelation(String plateNum) { + public com.evotech.hd.common.core.entity.Result delCompanyRelation(String plateNum) { VehicleInfo vi = new VehicleInfo(); vi.setCcode(""); vi.setCname(""); vi.setOwnerType(1); int n = vehicleInfoDao.update(vi, new QueryWrapper().eq("plate_num", plateNum)); if (n == 1) { - return new Result().success(n); + return new com.evotech.hd.common.core.entity.Result().success(n); } - return new Result().error("删除关联公司失败!"); + return new com.evotech.hd.common.core.entity.Result().error("删除关联公司失败!"); } @Override - public Result addWechatUserRelation(VehicleWechatUserRelation relation) { + public com.evotech.hd.common.core.entity.Result addWechatUserRelation(VehicleWechatUserRelation relation) { relation.setCtime(new Date()); int n = vehicleWechatUserRelationDao.insert(relation); if (n == 1) { - return new Result().success(n); + return new com.evotech.hd.common.core.entity.Result().success(n); } - return new Result().error("添加车辆用户关系出错!"); + return new com.evotech.hd.common.core.entity.Result().error("添加车辆用户关系出错!"); } @Override - public Result deleteWechatUserRelation(Integer id) { + public com.evotech.hd.common.core.entity.Result deleteWechatUserRelation(Integer id) { int n = vehicleWechatUserRelationDao.deleteById(id); if (n == 1) { - return new Result().success(n); + return new com.evotech.hd.common.core.entity.Result().success(n); } throw new RuntimeException("删除车辆用户关系出错!"); } @Override - public Result> listWechatUserRelation(String wuid, String plateNum) { + public com.evotech.hd.common.core.entity.Result> listWechatUserRelation(String wuid, String plateNum) { List relationList = vehicleWechatUserRelationDao.selectList(new QueryWrapper().eq(StringUtils.hasText(wuid), "ucode", wuid)); if (relationList.isEmpty()) { - return new Result>().error(CodeMsg.DATABASE_RESULT_NULL); + return new com.evotech.hd.common.core.entity.Result>().error(CodeMsg.DATABASE_RESULT_NULL); } List plateNumList = relationList.stream().map(i -> i.getPlateNum()).toList(); List list = vehicleInfoDao.selectList(new QueryWrapper().ne("del_flag", 1).in("plate_num", plateNumList)); if (list.isEmpty()) { - return new Result>().error(CodeMsg.DATABASE_RESULT_NULL); + return new com.evotech.hd.common.core.entity.Result>().error(CodeMsg.DATABASE_RESULT_NULL); } - return new Result>().success(list); + return new com.evotech.hd.common.core.entity.Result>().success(list); } @Override - public Result> listRelationUser(String PlantNo) { + public com.evotech.hd.common.core.entity.Result> listRelationUser(String PlantNo) { List list = vehicleWechatUserRelationDao.selectList(new QueryWrapper().eq("plate_num", PlantNo)); if (list.isEmpty()) { - return new Result>().error(CodeMsg.DATABASE_RESULT_NULL); + return new com.evotech.hd.common.core.entity.Result>().error(CodeMsg.DATABASE_RESULT_NULL); } list.stream().forEach(i -> i.setOpenid(null)); - return new Result>().success(list); + return new com.evotech.hd.common.core.entity.Result>().success(list); } @Override - public BaseResponse> loginList(String companyCode) { - return new BaseResponse>().success(vehicleInfoDao.selectList(new LambdaQueryWrapper().eq(VehicleInfo::getCcode, companyCode).select(VehicleInfo::getPkId, VehicleInfo::getPlateNum))); + public Result> loginList(String companyCode) { + return new Result>().success(vehicleInfoDao.selectList(new LambdaQueryWrapper().eq(VehicleInfo::getCcode, companyCode).select(VehicleInfo::getPkId, VehicleInfo::getPlateNum))); } diff --git a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/rpc/ResourceService.java b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/rpc/ResourceService.java index 80947f9..50dec9e 100644 --- a/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/rpc/ResourceService.java +++ b/cloud-manage-server/src/main/java/com/evotech/hd/cloud/service/rpc/ResourceService.java @@ -1,7 +1,6 @@ package com.evotech.hd.cloud.service.rpc; -import com.evotech.hd.common.core.Dto.BaseResponse; -import com.evotech.hd.common.core.entity.Result; +import com.evotech.hd.common.core.Dto.Result; import com.evotech.hd.common.core.entity.resource.ProxyOperater; import com.evotech.hd.common.core.entity.resource.dict.Dict; import org.springframework.cloud.openfeign.FeignClient; @@ -17,13 +16,13 @@ public interface ResourceService { @GetMapping(value = "/dict/listdict", consumes = {MediaType.APPLICATION_FORM_URLENCODED_VALUE}) - public Result> listDict(@RequestParam String typeCode); + public com.evotech.hd.common.core.entity.Result> listDict(@RequestParam String typeCode); @GetMapping(value = "/proxyoperater/device/list", consumes = {MediaType.APPLICATION_FORM_URLENCODED_VALUE}) - public BaseResponse> deviceList(); + public Result> deviceList(); @GetMapping(value = "/proxyoperater/basic/info", consumes = {MediaType.APPLICATION_FORM_URLENCODED_VALUE}) - public BaseResponse basicInfo(@RequestParam String proxyCode); + public Result basicInfo(@RequestParam String proxyCode); } diff --git a/cloud-manage-server/src/main/resources/mapper/OrderSwapBatteryMapper.xml b/cloud-manage-server/src/main/resources/mapper/OrderSwapBatteryMapper.xml new file mode 100644 index 0000000..dfb6da3 --- /dev/null +++ b/cloud-manage-server/src/main/resources/mapper/OrderSwapBatteryMapper.xml @@ -0,0 +1,103 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gateway-server/src/main/java/com/evotech/hd/gateway/oauth2/AuthorizationManager.java b/gateway-server/src/main/java/com/evotech/hd/gateway/oauth2/AuthorizationManager.java index df7abdb..59d2082 100644 --- a/gateway-server/src/main/java/com/evotech/hd/gateway/oauth2/AuthorizationManager.java +++ b/gateway-server/src/main/java/com/evotech/hd/gateway/oauth2/AuthorizationManager.java @@ -188,7 +188,7 @@ public class AuthorizationManager implements ReactiveAuthorizationManager