mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-12 21:02:08 +08:00
1、新增组织产品有效期时间查询接口;2、组织查询、分页的超期时间修改为Date类型;
This commit is contained in:
+1
@@ -139,6 +139,7 @@ public class ErrorCodeConstants {
|
||||
public static final ErrorCode ORGAN_ALREADY_EXISTS = new ErrorCode(1_002_015_007, "该新增组织已授权机台数量无需重复新增!");
|
||||
public static final ErrorCode ORGAN_USER_OPER_NOT_ALLOW = new ErrorCode(1_002_015_008, "不允许操作用户自身组织");
|
||||
public static final ErrorCode ORGAN_CONTACTMOBILE_DUPLICATE = new ErrorCode(1_002_015_009, "手机号为【{}】的组织已存在");
|
||||
public static final ErrorCode ORGAN_EXPIRETIME_PRODUCTID_LACK = new ErrorCode(1_002_015_010, "请选择要购买的产品");
|
||||
|
||||
// ========== 组织套餐 1-002-016-000 ==========
|
||||
public static final ErrorCode TENANT_PACKAGE_NOT_EXISTS = new ErrorCode(1_002_016_000, "组织套餐不存在");
|
||||
|
||||
+48
-3
@@ -2,6 +2,7 @@ package com.cf.imes.module.system.controller.admin.organ;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.date.LocalDateTimeUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.cf.imes.framework.common.pojo.CommonResult;
|
||||
import com.cf.imes.framework.common.pojo.PageParam;
|
||||
@@ -9,6 +10,7 @@ import com.cf.imes.framework.common.pojo.PageResult;
|
||||
import com.cf.imes.framework.common.util.object.BeanUtils;
|
||||
import com.cf.imes.framework.excel.core.util.ExcelUtils;
|
||||
import com.cf.imes.framework.operatelog.core.annotations.OperateLog;
|
||||
import com.cf.imes.framework.security.core.util.SecurityFrameworkUtils;
|
||||
import com.cf.imes.module.system.api.user.dto.OrganAdminUserRespDTO;
|
||||
import com.cf.imes.module.system.controller.admin.funds.delay.vo.ProductDelayRespVO;
|
||||
import com.cf.imes.module.system.controller.admin.organ.vo.organ.*;
|
||||
@@ -37,9 +39,11 @@ import java.io.IOException;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static cn.hutool.core.date.DatePattern.NORM_DATE_FORMATTER;
|
||||
import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
import static com.cf.imes.framework.common.pojo.CommonResult.success;
|
||||
import static com.cf.imes.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
|
||||
import static com.cf.imes.module.system.enums.ErrorCodeConstants.ORGAN_EXPIRETIME_PRODUCTID_LACK;
|
||||
import static com.cf.imes.module.system.enums.ErrorCodeConstants.ORGAN_NOT_EXISTS;
|
||||
|
||||
@Tag(name = "管理后台 - 组织")
|
||||
@@ -105,9 +109,8 @@ public class OrganController {
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得组织")
|
||||
@Operation(summary = "查询组织信息")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
// @PreAuthorize("@ss.hasPermission('organizationLIst:query')")
|
||||
public CommonResult<OrganRespVO> getOrgan(@RequestParam("id") Long id) {
|
||||
OrganizationDO organ = organService.getOrgan(id);
|
||||
if (ObjectUtil.isNull(organ)) {
|
||||
@@ -135,8 +138,50 @@ public class OrganController {
|
||||
return success(bean);
|
||||
}
|
||||
|
||||
@GetMapping("/product/expireTime")
|
||||
@Operation(summary = "查询组织产品有效时间")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@Parameter(name = "productId", description = "产品编号", required = true, example = "1024")
|
||||
public CommonResult<String> getOrganProductExpireTime(@RequestParam("id") Long id, @RequestParam(value = "productId", required = false) Long productId) {
|
||||
String expireTime = "";
|
||||
OrganizationDO organ = organService.getOrgan(id);
|
||||
if (ObjectUtil.isNull(organ)) {
|
||||
throw exception(ORGAN_NOT_EXISTS);
|
||||
}
|
||||
OrganRespVO bean = BeanUtils.toBean(organ, OrganRespVO.class);
|
||||
// 是否管理端,管理端要选了产品后展示有效时间
|
||||
boolean manageEndPoint = SecurityFrameworkUtils.isManageEndPoint();
|
||||
if (manageEndPoint) {
|
||||
if (ObjectUtil.isNull(productId)) {
|
||||
throw exception(ORGAN_EXPIRETIME_PRODUCTID_LACK);
|
||||
}
|
||||
} else {
|
||||
// 生产端从token中获取产品
|
||||
productId = SecurityFrameworkUtils.getProductId();
|
||||
}
|
||||
|
||||
Long organId = bean.getId();
|
||||
// 查询当前列表组织下的选择productId产品的记录
|
||||
Long finalProductId = productId;
|
||||
List<OrganPagePurchaseRespVO> orgPurchaseList = BeanUtil.copyToList(
|
||||
purchaseService.getOrgPurchaseList(Set.of(organId)).stream().filter(p -> finalProductId.equals(p.getProductId())).collect(Collectors.toList()), OrganPagePurchaseRespVO.class
|
||||
);
|
||||
|
||||
if (CollUtil.isNotEmpty(orgPurchaseList)) {
|
||||
OrganPagePurchaseRespVO currentProduct = orgPurchaseList.get(0);
|
||||
List<ProductDelayRespVO> delayRecordsByPurchaseId = productDelayService.getRecordsByPurchaseId(currentProduct.getId(), organId);
|
||||
if (CollUtil.isNotEmpty(delayRecordsByPurchaseId)) {
|
||||
// 产品有效时间展示为延期时间
|
||||
return success(LocalDateTimeUtil.format(delayRecordsByPurchaseId.get(0).getDelayTime(), NORM_DATE_FORMATTER));
|
||||
}
|
||||
// 没有延期记录返回最新的购买记录的结束时间
|
||||
expireTime = LocalDateTimeUtil.format(orgPurchaseList.get(0).getEndTime(), NORM_DATE_FORMATTER);
|
||||
}
|
||||
return success(expireTime);
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得组织分页")
|
||||
@Operation(summary = "查询组织分页")
|
||||
@PreAuthorize("@ss.hasAnyPermissions('organizationLIst:query','machine-auth::create','base:plate:query')")
|
||||
public CommonResult<PageResult<OrganRespVO>> getOrganPage(@Valid OrganPageReqVO pageVO) {
|
||||
PageResult<OrganizationDO> pageResult = organService.getOrganPage(pageVO);
|
||||
|
||||
+5
-1
@@ -3,12 +3,15 @@ package com.cf.imes.module.system.controller.admin.organ.vo.organ;
|
||||
import com.alibaba.excel.annotation.ExcelIgnore;
|
||||
import com.cf.imes.framework.excel.core.annotations.DictFormat;
|
||||
import com.cf.imes.framework.excel.core.convert.DictConvert;
|
||||
import com.cf.imes.framework.jackson.core.databind.LocalDateSerializer;
|
||||
import com.cf.imes.module.system.enums.DictTypeConstants;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
@@ -54,7 +57,8 @@ public class OrganRespVO {
|
||||
private String packageName;
|
||||
|
||||
@Schema(description = "过期时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private LocalDateTime expireTime;
|
||||
@JsonSerialize(using = LocalDateSerializer.class)
|
||||
private LocalDate expireTime;
|
||||
|
||||
@Schema(description = "账号数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
|
||||
private Integer accountCount;
|
||||
|
||||
+3
-2
@@ -8,7 +8,8 @@ import jakarta.validation.Valid;
|
||||
import lombok.Data;
|
||||
|
||||
import jakarta.validation.constraints.*;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.List;
|
||||
|
||||
@Schema(description = "管理后台 - 组织创建/修改 Request VO")
|
||||
@@ -48,7 +49,7 @@ public class OrganSaveReqVO {
|
||||
|
||||
@Schema(description = "过期时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "过期时间不能为空")
|
||||
private LocalDateTime expireTime;
|
||||
private LocalDate expireTime;
|
||||
|
||||
@Schema(description = "账号数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
|
||||
@NotNull(message = "账号数量不能为空")
|
||||
|
||||
+2
-2
@@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.annotation.KeySequence;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.*;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* 组织 DO
|
||||
@@ -92,7 +92,7 @@ public class OrganizationDO extends BaseDO {
|
||||
/**
|
||||
* 过期时间
|
||||
*/
|
||||
private LocalDateTime expireTime;
|
||||
private LocalDate expireTime;
|
||||
/**
|
||||
* 账号数量
|
||||
*/
|
||||
|
||||
+2
-1
@@ -269,7 +269,8 @@ public class PurchaseServiceImpl implements PurchaseService {
|
||||
public List<PurchaseRecordDO> getOrgPurchaseList(Set<Long> organIds) {
|
||||
return purchaseRecordMapper.selectList(new LambdaQueryWrapper<PurchaseRecordDO>()
|
||||
.in(PurchaseRecordDO::getOrganId, organIds)
|
||||
.eq(PurchaseRecordDO::getDeleted, false));
|
||||
.eq(PurchaseRecordDO::getDeleted, false)
|
||||
.orderByDesc(PurchaseRecordDO::getCreateTime));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+1
-2
@@ -147,12 +147,11 @@ public class OAuth2TokenServiceImpl implements OAuth2TokenService {
|
||||
accessTokenDO.setUserId(organizationDO.getContactUserId());
|
||||
accessTokenDO.setUserType(2);
|
||||
accessTokenDO.setClientId("default");
|
||||
accessTokenDO.setExpiresTime(organizationDO.getExpireTime());
|
||||
accessTokenDO.setDataCode(useDataCode);
|
||||
accessTokenDO.setNickname(organizationDO.getName());
|
||||
accessTokenDO.setIsSupAdmin(true);
|
||||
|
||||
}else {
|
||||
} else {
|
||||
|
||||
// 因数据库不在存入缓存数据,所以直接从缓存中获取
|
||||
// 数据库移除令牌存入,所以直接从缓存中获取
|
||||
|
||||
Reference in New Issue
Block a user