diff --git a/src/main/java/com/greenorange/promotion/aop/PermissionCheck.java b/src/main/java/com/greenorange/promotion/aop/PermissionCheck.java index b335ed6..6af7409 100644 --- a/src/main/java/com/greenorange/promotion/aop/PermissionCheck.java +++ b/src/main/java/com/greenorange/promotion/aop/PermissionCheck.java @@ -52,40 +52,37 @@ public class PermissionCheck { **/ @Around("@annotation(requiresPermission)") public Object check(ProceedingJoinPoint joinPoint, RequiresPermission requiresPermission) throws Throwable { -// // 获取请求对象 -// HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); -// // 接口的权限 -// String mustRole = requiresPermission.mustRole(); -// // 获取接口权限的枚举类 -// UserRoleEnum interfaceRoleEnum = UserRoleEnum.getEnumByValue(mustRole); -// ThrowUtils.throwIf(interfaceRoleEnum == null, ErrorCode.NO_AUTH_ERROR); -// // 获取用户权限 -// String token = request.getHeader("Authorization"); -// ThrowUtils.throwIf(StringUtils.isBlank(token), ErrorCode.NO_AUTH_ERROR, "JWT为空"); -// // 解析token -// DecodedJWT decodedJWT = jwtUtils.verify(token); -// String userAccount = decodedJWT.getClaim("userAccount").asString(); -// String userPassword = decodedJWT.getClaim("userPassword").asString(); -// // 将账号存入request,用于记录日志 -// request.setAttribute("userAccount", userAccount); -//// // 打印token的过期时间 -//// Date expiresAt = decodedJWT.getExpiresAt(); -//// String formatExpiresAt = DateUtil.format(expiresAt, "yyyy-MM-dd HH:mm:ss"); -//// log.info("Token过期时间为:" + formatExpiresAt); -// LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); -// lambdaQueryWrapper.eq(UserInfo::getUserAccount, userAccount).eq(UserInfo::getUserPassword, userPassword); -// UserInfo userInfo = userInfoService.getOne(lambdaQueryWrapper); -// ThrowUtils.throwIf(userInfo == null, ErrorCode.OPERATION_ERROR, "用户不存在"); -// -// // 获取用户权限的枚举类 -// String userRole = userInfo.getUserRole(); -// UserRoleEnum userRoleEnum = UserRoleEnum.getEnumByValue(userRole); -// -// // 接口权限只能是 USER,ADMIN,BOSS,用户权限是 ADMIN,BOSS,USER,BAN -// // 校验角色 -// ThrowUtils.throwIf(UserRoleEnum.USER.equals(userRoleEnum) && !UserRoleEnum.USER.equals(interfaceRoleEnum), ErrorCode.NO_AUTH_ERROR); -// ThrowUtils.throwIf(UserRoleEnum.BAN.equals(userRoleEnum), ErrorCode.NO_AUTH_ERROR, "用户已被封禁"); -// ThrowUtils.throwIf(UserRoleEnum.ADMIN.equals(userRoleEnum) && UserRoleEnum.BOSS.equals(interfaceRoleEnum), ErrorCode.NO_AUTH_ERROR); + // 获取请求对象 + HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); + // 接口的权限 + String mustRole = requiresPermission.mustRole(); + // 获取接口权限的枚举类 + UserRoleEnum interfaceRoleEnum = UserRoleEnum.getEnumByValue(mustRole); + ThrowUtils.throwIf(interfaceRoleEnum == null, ErrorCode.NO_AUTH_ERROR); + // 获取用户权限 + String token = request.getHeader("Authorization"); + ThrowUtils.throwIf(StringUtils.isBlank(token), ErrorCode.NO_AUTH_ERROR, "JWT为空"); + // 解析token + DecodedJWT decodedJWT = jwtUtils.verify(token); + String userAccount = decodedJWT.getClaim("userAccount").asString(); + String userPassword = decodedJWT.getClaim("userPassword").asString(); + // 查询用户信息 + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(UserInfo::getUserAccount, userAccount).eq(UserInfo::getUserPassword, userPassword); + UserInfo userInfo = userInfoService.getOne(lambdaQueryWrapper); + ThrowUtils.throwIf(userInfo == null, ErrorCode.OPERATION_ERROR, "用户不存在"); + // 将用户id存入request,用于记录日志 + request.setAttribute("userId", userInfo.getId()); + + // 获取用户权限的枚举类 + String userRole = userInfo.getUserRole(); + UserRoleEnum userRoleEnum = UserRoleEnum.getEnumByValue(userRole); + + // 接口权限只能是 USER,ADMIN,BOSS,用户权限是 ADMIN,BOSS,USER,BAN + // 校验角色 + ThrowUtils.throwIf(UserRoleEnum.USER.equals(userRoleEnum) && !UserRoleEnum.USER.equals(interfaceRoleEnum), ErrorCode.NO_AUTH_ERROR); + ThrowUtils.throwIf(UserRoleEnum.BAN.equals(userRoleEnum), ErrorCode.NO_AUTH_ERROR, "用户已被封禁"); + ThrowUtils.throwIf(UserRoleEnum.ADMIN.equals(userRoleEnum) && UserRoleEnum.BOSS.equals(interfaceRoleEnum), ErrorCode.NO_AUTH_ERROR); return joinPoint.proceed(); } diff --git a/src/main/java/com/greenorange/promotion/controller/projectSettlement/ProjectSettlementController.java b/src/main/java/com/greenorange/promotion/controller/projectSettlement/ProjectSettlementController.java index fcfb504..440f5b0 100644 --- a/src/main/java/com/greenorange/promotion/controller/projectSettlement/ProjectSettlementController.java +++ b/src/main/java/com/greenorange/promotion/controller/projectSettlement/ProjectSettlementController.java @@ -1,6 +1,6 @@ package com.greenorange.promotion.controller.projectSettlement; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.greenorange.promotion.annotation.RequiresPermission; import com.greenorange.promotion.annotation.SysLog; import com.greenorange.promotion.common.BaseResponse; @@ -9,25 +9,28 @@ import com.greenorange.promotion.common.ResultUtils; import com.greenorange.promotion.constant.UserConstant; import com.greenorange.promotion.exception.ThrowUtils; import com.greenorange.promotion.model.dto.CommonBatchRequest; +import com.greenorange.promotion.model.dto.CommonRequest; import com.greenorange.promotion.model.dto.projectSettlement.ProjectSettlementAddRequest; -import com.greenorange.promotion.model.dto.projectSettlement.ProjectSettlementQueryRequest; import com.greenorange.promotion.model.dto.projectSettlement.ProjectSettlementUpdateRequest; -import com.greenorange.promotion.model.entity.ProjectSettlement; +import com.greenorange.promotion.model.entity.*; import com.greenorange.promotion.model.vo.projectSettlement.ProjectSettlementVO; import com.greenorange.promotion.service.common.CommonService; +import com.greenorange.promotion.service.project.PromoCodeApplyService; +import com.greenorange.promotion.service.settle.FundsChangeService; import com.greenorange.promotion.service.settle.ProjectSettlementService; +import com.greenorange.promotion.service.user.UserInfoService; +import com.greenorange.promotion.service.user.UserMainInfoService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.annotation.Resource; +import jakarta.validation.Valid; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.greenorange.promotion.model.dto.CommonRequest; -import jakarta.validation.Valid; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.math.BigDecimal; import java.util.List; @@ -43,9 +46,18 @@ public class ProjectSettlementController { @Resource private ProjectSettlementService projectSettlementService; + @Resource + private FundsChangeService fundsChangeService; + @Resource private CommonService commonService; + @Resource + private PromoCodeApplyService promoCodeApplyService; + + @Resource + private UserMainInfoService userMainInfoService; + /** * web端管理员添加项目结算记录 * @param projectSettlementAddRequest 项目结算记录添加请求体 @@ -58,6 +70,30 @@ public class ProjectSettlementController { public BaseResponse addProjectSettlement(@Valid @RequestBody ProjectSettlementAddRequest projectSettlementAddRequest) { ProjectSettlement projectSettlement = commonService.copyProperties(projectSettlementAddRequest, ProjectSettlement.class); projectSettlementService.save(projectSettlement); + + // 查询对应的推广码申请记录 + Long pid = projectSettlement.getPromoCodeRequestRecordId(); + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(PromoCodeApply::getId, pid); + PromoCodeApply promoCodeApply = promoCodeApplyService.getOne(lambdaQueryWrapper); + // 获取推广码申请记录的参数 + String projectName = promoCodeApply.getProjectName(); + Long userId = promoCodeApply.getUserId(); + UserMainInfo userMainInfo = userMainInfoService.getById(userId); + BigDecimal currentBalance = userMainInfo.getCurrentBalance(); + // 获取项目结算记录的参数 + BigDecimal settlementRevenue = projectSettlement.getSettlementRevenue(); + Long projectSettlementId = projectSettlement.getId(); + // 添加资金变动记录 + FundsChange fundsChange = FundsChange.builder() + .projectName(projectName) + .changeAmount(settlementRevenue) + .currentAmount(currentBalance.add(settlementRevenue)) + .userId(userId) + .projectSettlementId(projectSettlementId) + .build(); + fundsChangeService.save(fundsChange); + return ResultUtils.success(true); } @@ -67,12 +103,23 @@ public class ProjectSettlementController { * @return 是否更新成功 */ @PostMapping("update") - @Operation(summary = "web端管理员更新项目结算记录", description = "参数:项目结算记录更新请求体,权限:管理员,方法名:updateProjectSettlement") + @Operation(summary = "web端管理员根据id修改项目结算记录信息", description = "参数:项目结算记录更新请求体,权限:管理员,方法名:updateProjectSettlement") @RequiresPermission(mustRole = UserConstant.ADMIN_ROLE) @SysLog(title = "项目结算记录管理", content = "web端管理员根据id修改项目结算记录信息") public BaseResponse updateProjectSettlement(@Valid @RequestBody ProjectSettlementUpdateRequest projectSettlementUpdateRequest) { ProjectSettlement projectSettlement = commonService.copyProperties(projectSettlementUpdateRequest, ProjectSettlement.class); projectSettlementService.updateById(projectSettlement); + // 修改资金变动记录 + Long id = projectSettlement.getId(); + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(FundsChange::getProjectSettlementId, id); + FundsChange fundsChange = fundsChangeService.getOne(lambdaQueryWrapper); + BigDecimal changeAmount = fundsChange.getChangeAmount(); + BigDecimal currentAmount = fundsChange.getCurrentAmount(); + BigDecimal originAmount = currentAmount.subtract(changeAmount); + fundsChange.setChangeAmount(projectSettlement.getSettlementRevenue()); + fundsChange.setCurrentAmount(originAmount.add(projectSettlement.getSettlementRevenue())); + fundsChangeService.updateById(fundsChange); return ResultUtils.success(true); } @@ -88,23 +135,27 @@ public class ProjectSettlementController { public BaseResponse delProjectSettlement(@Valid @RequestBody CommonRequest commonRequest) { Long id = commonRequest.getId(); projectSettlementService.removeById(id); + // 删除资金变动记录 + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(FundsChange::getProjectSettlementId, id); + fundsChangeService.remove(lambdaQueryWrapper); return ResultUtils.success(true); } - /** - * web端管理员批量删除项目结算记录 - * @param commonBatchRequest 项目结算记录批量删除请求体 - * @return 是否删除成功 - */ - @PostMapping("delBatch") - @Operation(summary = "web端管理员批量删除项目结算记录", description = "参数:项目结算记录批量删除请求体,权限:管理员,方法名:delBatchProjectSettlement") - @RequiresPermission(mustRole = UserConstant.ADMIN_ROLE) - @SysLog(title = "项目结算记录管理", content = "web端管理员批量删除项目结算记录") - public BaseResponse delBatchProjectSettlement(@Valid @RequestBody CommonBatchRequest commonBatchRequest) { - List ids = commonBatchRequest.getIds(); - projectSettlementService.removeByIds(ids); - return ResultUtils.success(true); - } +// /** +// * web端管理员批量删除项目结算记录 +// * @param commonBatchRequest 项目结算记录批量删除请求体 +// * @return 是否删除成功 +// */ +// @PostMapping("delBatch") +// @Operation(summary = "web端管理员批量删除项目结算记录", description = "参数:项目结算记录批量删除请求体,权限:管理员,方法名:delBatchProjectSettlement") +// @RequiresPermission(mustRole = UserConstant.ADMIN_ROLE) +// @SysLog(title = "项目结算记录管理", content = "web端管理员批量删除项目结算记录") +// public BaseResponse delBatchProjectSettlement(@Valid @RequestBody CommonBatchRequest commonBatchRequest) { +// List ids = commonBatchRequest.getIds(); +// projectSettlementService.removeByIds(ids); +// return ResultUtils.success(true); +// } /** * web端管理员根据id查询项目结算记录 @@ -123,6 +174,27 @@ public class ProjectSettlementController { return ResultUtils.success(projectSettlementVO); } + + /** + * Web端管理员根据推广码申请记录id查询项目结算记录列表 + * @param commonRequest 推广码申请记录id + * @return 项目结算记录列表 + */ + @PostMapping("queryByPId") + @Operation(summary = "Web端管理员根据推广码申请记录id查询项目结算记录列表", description = "参数:推广码申请记录id,权限:管理员,方法名:queryProjectSettlementByPid") + @RequiresPermission(mustRole = UserConstant.ADMIN_ROLE) + @SysLog(title = "项目结算记录管理", content = "Web端管理员根据推广码申请记录id查询项目结算记录列表") + public BaseResponse> queryProjectSettlementByPid(@Valid @RequestBody CommonRequest commonRequest) { + Long id = commonRequest.getId(); + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(ProjectSettlement::getPromoCodeRequestRecordId, id); + List projectSettlementList = projectSettlementService.list(lambdaQueryWrapper); + List projectSettlementVOS = commonService.convertList(projectSettlementList, ProjectSettlementVO.class); + return ResultUtils.success(projectSettlementVOS); + } + + + // /** // * Web端管理员分页查询项目结算记录 // * @param projectSettlementQueryRequest 项目结算记录查询请求体 diff --git a/src/main/java/com/greenorange/promotion/controller/user/UserInfoController.java b/src/main/java/com/greenorange/promotion/controller/user/UserInfoController.java index 02e977e..ce748cb 100644 --- a/src/main/java/com/greenorange/promotion/controller/user/UserInfoController.java +++ b/src/main/java/com/greenorange/promotion/controller/user/UserInfoController.java @@ -178,10 +178,8 @@ public class UserInfoController { @RequiresPermission(mustRole = UserConstant.ADMIN_ROLE) @SysLog(title = "用户管理", content = "web端用户根据jwt获取用户信息") public BaseResponse getWebUserInfoByJWT(HttpServletRequest request) { - String userAccount = (String) request.getAttribute("userAccount"); - LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); - lambdaQueryWrapper.eq(UserInfo::getUserAccount, userAccount); - UserInfo userInfo = userInfoService.getOne(lambdaQueryWrapper); + Long userId = (Long) request.getAttribute("userId"); + UserInfo userInfo = userInfoService.getById(userId); UserInfoVO userInfoVO = commonService.copyProperties(userInfo, UserInfoVO.class); return ResultUtils.success(userInfoVO); } @@ -197,10 +195,8 @@ public class UserInfoController { @RequiresPermission(mustRole = UserConstant.DEFAULT_ROLE) @SysLog(title = "用户管理", content = "小程序端用户根据jwt获取用户信息") public BaseResponse getMiniUserInfoByJWT(HttpServletRequest request) { - String userAccount = (String) request.getAttribute("userAccount"); - LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); - lambdaQueryWrapper.eq(UserInfo::getUserAccount, userAccount); - UserInfo userInfo = userInfoService.getOne(lambdaQueryWrapper); + Long userId = (Long) request.getAttribute("userId"); + UserInfo userInfo = userInfoService.getById(userId); UserInfoVO userInfoVO = commonService.copyProperties(userInfo, UserInfoVO.class); return ResultUtils.success(userInfoVO); } @@ -215,14 +211,9 @@ public class UserInfoController { @RequiresPermission(mustRole = UserConstant.DEFAULT_ROLE) @SysLog(title = "用户管理", content = "小程序端用户根据jwt获取用户主要信息") public BaseResponse getMiniUserMainInfoByJWT(HttpServletRequest request) { - String userAccount = (String) request.getAttribute("userAccount"); - LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); - lambdaQueryWrapper.eq(UserInfo::getUserAccount, userAccount); - UserInfo userInfo = userInfoService.getOne(lambdaQueryWrapper); - - Long id = userInfo.getId(); + Long userId = (Long) request.getAttribute("userId"); LambdaQueryWrapper userMainInfoLambdaQueryWrapper = new LambdaQueryWrapper<>(); - userMainInfoLambdaQueryWrapper.eq(UserMainInfo::getUserId, id); + userMainInfoLambdaQueryWrapper.eq(UserMainInfo::getUserId, userId); UserMainInfo userMainInfo = userMainInfoService.getOne(userMainInfoLambdaQueryWrapper); UserMainInfoVO userMainInfoVO = commonService.copyProperties(userMainInfo, UserMainInfoVO.class); return ResultUtils.success(userMainInfoVO); diff --git a/src/main/java/com/greenorange/promotion/generator/Generator.java b/src/main/java/com/greenorange/promotion/generator/Generator.java index 5ab27aa..1701ebe 100644 --- a/src/main/java/com/greenorange/promotion/generator/Generator.java +++ b/src/main/java/com/greenorange/promotion/generator/Generator.java @@ -27,13 +27,13 @@ public class Generator { // 作者 private static final String AUTHOR = "chenxinzhi"; // 表注释 - private static final String TABLE_COMMENT = "资金变动记录"; + private static final String TABLE_COMMENT = "推广码申请记录"; // 实体类名 - private static final String ENTITY_NAME = "FundsChange"; + private static final String ENTITY_NAME = "PromoCodeApply"; // 表名 - private static final String TABLE_NAME = "funds_change"; + private static final String TABLE_NAME = "promo_code_apply"; // 实体类属性名 - private static final String ENTITY_NAME_LOWER = "fundsChange"; + private static final String ENTITY_NAME_LOWER = "promoCodeApply"; // 父包名 private static final String PARENT_PATH = "com.greenorange.promotion"; diff --git a/src/main/java/com/greenorange/promotion/model/dto/fundsChange/FundsChangeAddRequest.java b/src/main/java/com/greenorange/promotion/model/dto/fundsChange/FundsChangeAddRequest.java index 7ca6591..3c7a32c 100644 --- a/src/main/java/com/greenorange/promotion/model/dto/fundsChange/FundsChangeAddRequest.java +++ b/src/main/java/com/greenorange/promotion/model/dto/fundsChange/FundsChangeAddRequest.java @@ -18,6 +18,7 @@ import java.io.Serializable; "changeAmount", "currentAmount", "userId", + "projectSettlementId" }) public class FundsChangeAddRequest implements Serializable { @@ -47,6 +48,13 @@ public class FundsChangeAddRequest implements Serializable { @Schema(description = "用户ID", example = "1") private Long userId; + /** + * 项目结算记录ID + */ + @Min(value = 1L, message = "项目结算记录ID ID不能小于1") + @Schema(description = "项目结算记录ID", example = "1") + private Long projectSettlementId; + @Serial private static final long serialVersionUID = 1L; diff --git a/src/main/java/com/greenorange/promotion/model/dto/fundsChange/FundsChangeQueryRequest.java b/src/main/java/com/greenorange/promotion/model/dto/fundsChange/FundsChangeQueryRequest.java index 9ae1eae..d0137d7 100644 --- a/src/main/java/com/greenorange/promotion/model/dto/fundsChange/FundsChangeQueryRequest.java +++ b/src/main/java/com/greenorange/promotion/model/dto/fundsChange/FundsChangeQueryRequest.java @@ -50,6 +50,13 @@ public class FundsChangeQueryRequest extends PageRequest implements Serializable @Schema(description = "用户ID", example = "1") private Long userId; + /** + * 项目结算记录ID + */ + @Min(value = 1L, message = "项目结算记录ID ID不能小于1") + @Schema(description = "项目结算记录ID", example = "1") + private Long projectSettlementId; + @Serial private static final long serialVersionUID = 1L; diff --git a/src/main/java/com/greenorange/promotion/model/dto/fundsChange/FundsChangeUpdateRequest.java b/src/main/java/com/greenorange/promotion/model/dto/fundsChange/FundsChangeUpdateRequest.java index b576eba..e095fde 100644 --- a/src/main/java/com/greenorange/promotion/model/dto/fundsChange/FundsChangeUpdateRequest.java +++ b/src/main/java/com/greenorange/promotion/model/dto/fundsChange/FundsChangeUpdateRequest.java @@ -19,6 +19,7 @@ import java.io.Serializable; "changeAmount", "currentAmount", "userId", + "projectSettlementId" }) public class FundsChangeUpdateRequest implements Serializable { @@ -55,6 +56,13 @@ public class FundsChangeUpdateRequest implements Serializable { @Schema(description = "用户ID", example = "1") private Long userId; + /** + * 项目结算记录ID + */ + @Min(value = 1L, message = "项目结算记录ID ID不能小于1") + @Schema(description = "项目结算记录ID", example = "1") + private Long projectSettlementId; + @Serial private static final long serialVersionUID = 1L; diff --git a/src/main/java/com/greenorange/promotion/model/entity/FundsChange.java b/src/main/java/com/greenorange/promotion/model/entity/FundsChange.java index 1b4058b..8f727aa 100644 --- a/src/main/java/com/greenorange/promotion/model/entity/FundsChange.java +++ b/src/main/java/com/greenorange/promotion/model/entity/FundsChange.java @@ -7,7 +7,12 @@ import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; + +import jakarta.validation.constraints.NotBlank; +import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Data; +import lombok.NoArgsConstructor; /** * 资金变动记录表 @@ -15,6 +20,9 @@ import lombok.Data; */ @TableName(value ="funds_change") @Data +@NoArgsConstructor +@AllArgsConstructor +@Builder public class FundsChange implements Serializable { /** * 资金变动ID @@ -42,6 +50,11 @@ public class FundsChange implements Serializable { */ private Long userId; + /** + * 项目结算记录id + */ + private Long projectSettlementId; + /** * 是否删除 */ diff --git a/src/main/java/com/greenorange/promotion/model/vo/fundsChange/FundsChangeVO.java b/src/main/java/com/greenorange/promotion/model/vo/fundsChange/FundsChangeVO.java index 4667285..c55532e 100644 --- a/src/main/java/com/greenorange/promotion/model/vo/fundsChange/FundsChangeVO.java +++ b/src/main/java/com/greenorange/promotion/model/vo/fundsChange/FundsChangeVO.java @@ -44,6 +44,11 @@ public class FundsChangeVO implements Serializable { @Schema(description = "用户ID", example = "1") private Long userId; + /** + * 项目结算记录ID + */ + @Schema(description = "项目结算记录ID", example = "1") + private Long projectSettlementId; @Serial private static final long serialVersionUID = 1L; diff --git a/src/main/java/com/greenorange/promotion/model/vo/projectSettlement/ProjectSettlementVO.java b/src/main/java/com/greenorange/promotion/model/vo/projectSettlement/ProjectSettlementVO.java index 1123ec2..2025b2f 100644 --- a/src/main/java/com/greenorange/promotion/model/vo/projectSettlement/ProjectSettlementVO.java +++ b/src/main/java/com/greenorange/promotion/model/vo/projectSettlement/ProjectSettlementVO.java @@ -1,6 +1,7 @@ package com.greenorange.promotion.model.vo.projectSettlement; import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; import lombok.Data; import java.io.Serial; diff --git a/src/main/resources/templates/controller.java.vm b/src/main/resources/templates/controller.java.vm index 6594c19..b3ee9b0 100644 --- a/src/main/resources/templates/controller.java.vm +++ b/src/main/resources/templates/controller.java.vm @@ -42,7 +42,7 @@ public class ${entityName}Controller { * @return 是否更新成功 */ @PostMapping("update") - @Operation(summary = "web端管理员更新${entityComment}", description = "参数:${entityComment}更新请求体,权限:管理员,方法名:update${entityName}") + @Operation(summary = "web端管理员根据id修改${entityComment}", description = "参数:${entityComment}更新请求体,权限:管理员,方法名:update${entityName}") @RequiresPermission(mustRole = UserConstant.ADMIN_ROLE) @SysLog(title = "${entityComment}管理", content = "web端管理员根据id修改${entityComment}信息") public BaseResponse update${entityName}(@Valid @RequestBody ${entityName}UpdateRequest ${entityNameLower}UpdateRequest) {