已完成小程序端的项目查询
This commit is contained in:
parent
035018657c
commit
d54e517f7f
|
@ -3,7 +3,6 @@ package com.greenorange.promotion.controller.project;
|
|||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.greenorange.promotion.annotation.RequiresPermission;
|
||||
import com.greenorange.promotion.annotation.SysLog;
|
||||
|
@ -11,19 +10,18 @@ import com.greenorange.promotion.common.BaseResponse;
|
|||
import com.greenorange.promotion.common.ErrorCode;
|
||||
import com.greenorange.promotion.common.ResultUtils;
|
||||
import com.greenorange.promotion.constant.UserConstant;
|
||||
import com.greenorange.promotion.exception.BusinessException;
|
||||
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.project.ProjectAddRequest;
|
||||
import com.greenorange.promotion.model.dto.project.ProjectQueryRequest;
|
||||
import com.greenorange.promotion.model.dto.project.ProjectStatusUpdateRequest;
|
||||
import com.greenorange.promotion.model.dto.project.ProjectUpdateRequest;
|
||||
import com.greenorange.promotion.model.dto.projectDetail.ProjectDetailAddRequest;
|
||||
import com.greenorange.promotion.model.dto.projectNotification.ProjectNotificationAddRequest;
|
||||
import com.greenorange.promotion.model.dto.promoCodeApply.PromoCodeApplyRequest;
|
||||
import com.greenorange.promotion.model.entity.*;
|
||||
import com.greenorange.promotion.model.vo.project.ProjectCardVO;
|
||||
import com.greenorange.promotion.model.vo.project.ProjectDetailVO;
|
||||
import com.greenorange.promotion.model.vo.project.ProjectPageVO;
|
||||
import com.greenorange.promotion.model.vo.project.ProjectVO;
|
||||
import com.greenorange.promotion.model.vo.projectNotification.ProjectNotificationVO;
|
||||
import com.greenorange.promotion.service.common.CommonService;
|
||||
import com.greenorange.promotion.service.project.*;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
@ -70,6 +68,68 @@ public class ProjectController {
|
|||
private SubUserProjectCommissionService subUserProjectCommissionService;
|
||||
|
||||
|
||||
/**
|
||||
* 小程序用户查看项目列表
|
||||
* @return 项目列表
|
||||
*/
|
||||
@PostMapping("query/card")
|
||||
@Operation(summary = "小程序用户查看项目列表", description = "参数:无,权限:管理员,方法名:queryProjectCardList")
|
||||
@RequiresPermission(mustRole = UserConstant.DEFAULT_ROLE)
|
||||
@SysLog(title = "项目管理", content = "小程序用户查看项目列表")
|
||||
public BaseResponse<List<ProjectCardVO>> queryProjectCardList() {
|
||||
List<Project> projectList = projectService.list();
|
||||
List<ProjectCardVO> projectCardVOS = commonService.convertList(projectList, ProjectCardVO.class);
|
||||
return ResultUtils.success(projectCardVOS);
|
||||
}
|
||||
|
||||
/**
|
||||
* 小程序用户根据id查询项目详情
|
||||
* @param commonRequest 项目id
|
||||
* @return 项目详情
|
||||
*/
|
||||
@PostMapping("query/id")
|
||||
@Operation(summary = "小程序用户根据id查询项目详情", description = "参数:无,权限:管理员,方法名:queryProjectDetailById")
|
||||
@RequiresPermission(mustRole = UserConstant.DEFAULT_ROLE)
|
||||
@SysLog(title = "项目管理", content = "小程序用户根据id查询项目详情")
|
||||
public BaseResponse<ProjectDetailVO> queryProjectDetailById(@Valid @RequestBody CommonRequest commonRequest) {
|
||||
Long id = commonRequest.getId();
|
||||
Project project = projectService.getById(id);
|
||||
ProjectDetailVO projectDetailVO = commonService.copyProperties(project, ProjectDetailVO.class);
|
||||
// 获取项目通知列表
|
||||
LambdaQueryWrapper<ProjectNotification> notificationLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
notificationLambdaQueryWrapper.eq(ProjectNotification::getProjectId, id);
|
||||
List<ProjectNotification> projectNotificationList = projectNotificationService.list(notificationLambdaQueryWrapper);
|
||||
List<ProjectNotificationVO> projectNotificationVOS = commonService.convertList(projectNotificationList, ProjectNotificationVO.class);
|
||||
// 获取项目明细列表
|
||||
LambdaQueryWrapper<ProjectDetail> projectDetailLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
projectDetailLambdaQueryWrapper.eq(ProjectDetail::getProjectId, id);
|
||||
List<ProjectDetail> projectDetailList = projectDetailService.list(projectDetailLambdaQueryWrapper);
|
||||
List<ProjectDetailVO> projectDetailVOS = commonService.convertList(projectDetailList, ProjectDetailVO.class);
|
||||
projectDetailVO.setProjectNotificationVOList(projectNotificationVOS);
|
||||
projectDetailVO.setProjectDetailVOList(projectDetailVOS);
|
||||
return ResultUtils.success(projectDetailVO);
|
||||
}
|
||||
|
||||
// /**
|
||||
// * 小程序用户申请推广码
|
||||
// * @param promoCodeApplyRequest 推广码申请请求体
|
||||
// * @return 项目详情
|
||||
// */
|
||||
// @PostMapping("query/id")
|
||||
// @Operation(summary = "小程序用户申请推广码", description = "参数:无,权限:管理员,方法名:applyPromoCode")
|
||||
// @RequiresPermission(mustRole = UserConstant.DEFAULT_ROLE)
|
||||
// @SysLog(title = "项目管理", content = "小程序用户申请推广码")
|
||||
// public BaseResponse<ProjectDetailVO> applyPromoCode(@Valid @RequestBody PromoCodeApplyRequest promoCodeApplyRequest) {
|
||||
// // 取出当前项目的推广码
|
||||
// Long projectId = promoCodeApplyRequest.getProjectId();
|
||||
// LambdaQueryWrapper<PromoCode> promoCodeLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
// promoCodeLambdaQueryWrapper.eq(PromoCode::getProjectId, projectId);
|
||||
// List<PromoCode> promoCodeList = promoCodeService.list(promoCodeLambdaQueryWrapper);
|
||||
// return ResultUtils.success(projectDetailVO);
|
||||
// }
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* web端管理员添加项目
|
||||
* @param projectAddRequest 项目添加请求体
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package com.greenorange.promotion.controller.projectSettlement;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.greenorange.promotion.annotation.RequiresPermission;
|
||||
import com.greenorange.promotion.annotation.SysLog;
|
||||
|
@ -12,13 +13,20 @@ import com.greenorange.promotion.model.dto.CommonBatchRequest;
|
|||
import com.greenorange.promotion.model.dto.withdrawalApply.WithdrawalApplyAddRequest;
|
||||
import com.greenorange.promotion.model.dto.withdrawalApply.WithdrawalApplyQueryRequest;
|
||||
import com.greenorange.promotion.model.dto.withdrawalApply.WithdrawalApplyUpdateRequest;
|
||||
import com.greenorange.promotion.model.entity.FundsChange;
|
||||
import com.greenorange.promotion.model.entity.UserInfo;
|
||||
import com.greenorange.promotion.model.entity.WithdrawalApply;
|
||||
import com.greenorange.promotion.model.vo.fundsChange.FundsChangeVO;
|
||||
import com.greenorange.promotion.model.vo.withdrawalApply.WithdrawalApplyVO;
|
||||
import com.greenorange.promotion.service.common.CommonService;
|
||||
import com.greenorange.promotion.service.settle.FundsChangeService;
|
||||
import com.greenorange.promotion.service.settle.WithdrawalApplyService;
|
||||
import com.greenorange.promotion.service.user.UserInfoService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.annotation.Resource;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import lombok.With;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
@ -28,6 +36,7 @@ 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,10 +52,71 @@ public class WithdrawalApplyController {
|
|||
@Resource
|
||||
private WithdrawalApplyService withdrawalApplyService;
|
||||
|
||||
@Resource
|
||||
private FundsChangeService fundsChangeService;
|
||||
|
||||
@Resource
|
||||
private CommonService commonService;
|
||||
|
||||
|
||||
/**
|
||||
* 小程序端用户申请提现
|
||||
* @param withdrawalApplyAddRequest 提现申请记录查添加请求体
|
||||
* @return 提现申请记录id
|
||||
*/
|
||||
@PostMapping("add")
|
||||
@Operation(summary = "小程序端用户申请提现", description = "参数:提现申请记录查添加请求体,权限:管理员,方法名:addWithdrawalApply")
|
||||
@RequiresPermission(mustRole = UserConstant.DEFAULT_ROLE)
|
||||
@SysLog(title = "提现申请记录管理", content = "小程序端用户申请提现")
|
||||
public BaseResponse<Long> addWithdrawalApply(@Valid @RequestBody WithdrawalApplyAddRequest withdrawalApplyAddRequest, HttpServletRequest request) {
|
||||
Long userId = (Long) request.getAttribute("userId");
|
||||
BigDecimal withdrawnAmount = withdrawalApplyAddRequest.getWithdrawnAmount();
|
||||
WithdrawalApply withdrawalApply = WithdrawalApply.builder()
|
||||
.withdrawnAmount(withdrawnAmount)
|
||||
.userId(userId)
|
||||
.build();
|
||||
withdrawalApplyService.save(withdrawalApply);
|
||||
return ResultUtils.success(withdrawalApply.getId());
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 小程序端用户查询提现申请记录
|
||||
* @return 提现申请记录列表
|
||||
*/
|
||||
@PostMapping("query")
|
||||
@Operation(summary = "小程序端用户查询提现申请记录", description = "参数:无,权限:管理员,方法名:queryWithdrawalApplyByUserId")
|
||||
@RequiresPermission(mustRole = UserConstant.DEFAULT_ROLE)
|
||||
@SysLog(title = "提现申请记录管理", content = "小程序端用户查询提现申请记录")
|
||||
public BaseResponse<List<WithdrawalApplyVO>> queryWithdrawalApplyByUserId(HttpServletRequest request) {
|
||||
Long userId = (Long) request.getAttribute("userId");
|
||||
LambdaQueryWrapper<WithdrawalApply> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(WithdrawalApply::getUserId, userId);
|
||||
List<WithdrawalApply> withdrawalApplyList = withdrawalApplyService.list(lambdaQueryWrapper);
|
||||
List<WithdrawalApplyVO> withdrawalApplyVOS = commonService.convertList(withdrawalApplyList, WithdrawalApplyVO.class);
|
||||
return ResultUtils.success(withdrawalApplyVOS);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 小程序端用户查询资金变动记录
|
||||
* @return 提现申请记录id
|
||||
*/
|
||||
@PostMapping("query/change")
|
||||
@Operation(summary = "小程序端用户查询资金变动记录", description = "参数:无,权限:管理员,方法名:queryFundsChangeByUserId")
|
||||
@RequiresPermission(mustRole = UserConstant.DEFAULT_ROLE)
|
||||
@SysLog(title = "提现申请记录管理", content = "小程序端用户查询资金变动记录")
|
||||
public BaseResponse<List<FundsChangeVO>> queryFundsChangeByUserId(HttpServletRequest request) {
|
||||
Long userId = (Long) request.getAttribute("userId");
|
||||
LambdaQueryWrapper<FundsChange> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(FundsChange::getUserId, userId);
|
||||
List<FundsChange> fundsChangeList = fundsChangeService.list(lambdaQueryWrapper);
|
||||
List<FundsChangeVO> fundsChangeVOS = commonService.convertList(fundsChangeList, FundsChangeVO.class);
|
||||
return ResultUtils.success(fundsChangeVOS);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Web端管理员分页查询提现申请记录
|
||||
* @param withdrawalApplyQueryRequest 提现申请记录查询请求体
|
||||
|
|
|
@ -0,0 +1,105 @@
|
|||
package com.greenorange.promotion.controller.userInfo;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.greenorange.promotion.annotation.RequiresPermission;
|
||||
import com.greenorange.promotion.annotation.SysLog;
|
||||
import com.greenorange.promotion.common.BaseResponse;
|
||||
import com.greenorange.promotion.common.ErrorCode;
|
||||
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.userAccount.UserAccountAddRequest;
|
||||
import com.greenorange.promotion.model.dto.userAccount.UserAccountQueryRequest;
|
||||
import com.greenorange.promotion.model.dto.userAccount.UserAccountUpdateRequest;
|
||||
import com.greenorange.promotion.model.entity.UserAccount;
|
||||
import com.greenorange.promotion.model.vo.userAccount.UserAccountVO;
|
||||
import com.greenorange.promotion.service.common.CommonService;
|
||||
import com.greenorange.promotion.service.settle.UserAccountService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.annotation.Resource;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
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.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* 用户账户 控制器
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("userAccount")
|
||||
@Slf4j
|
||||
@Tag(name = "用户账户管理")
|
||||
public class UserAccountController {
|
||||
|
||||
@Resource
|
||||
private UserAccountService userAccountService;
|
||||
|
||||
@Resource
|
||||
private CommonService commonService;
|
||||
|
||||
/**
|
||||
* 小程序端用户添加用户账户
|
||||
* @param userAccountAddRequest 用户账户添加请求体
|
||||
* @return 是否添加成功
|
||||
*/
|
||||
@PostMapping("add")
|
||||
@Operation(summary = "小程序端用户添加用户账户", description = "参数:用户账户添加请求体,权限:管理员,方法名:addUserAccount")
|
||||
@RequiresPermission(mustRole = UserConstant.DEFAULT_ROLE)
|
||||
@SysLog(title = "用户账户管理", content = "小程序端用户添加用户账户")
|
||||
public BaseResponse<Boolean> addUserAccount(@Valid @RequestBody UserAccountAddRequest userAccountAddRequest, HttpServletRequest request) {
|
||||
Long userId = (Long) request.getAttribute("userId");
|
||||
UserAccount userAccount = commonService.copyProperties(userAccountAddRequest, UserAccount.class);
|
||||
userAccount.setUserId(userId);
|
||||
userAccountService.save(userAccount);
|
||||
return ResultUtils.success(true);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 小程序端用户根据id修改用户账户信息
|
||||
* @param userAccountUpdateRequest 用户账户更新请求体
|
||||
* @return 是否更新成功
|
||||
*/
|
||||
@PostMapping("update")
|
||||
@Operation(summary = "小程序端用户根据id修改用户账户信息", description = "参数:用户账户更新请求体,权限:管理员,方法名:updateUserAccount")
|
||||
@RequiresPermission(mustRole = UserConstant.DEFAULT_ROLE)
|
||||
@SysLog(title = "用户账户管理", content = "小程序端用户根据id修改用户账户信息")
|
||||
public BaseResponse<Boolean> updateUserAccount(@Valid @RequestBody UserAccountUpdateRequest userAccountUpdateRequest, HttpServletRequest request) {
|
||||
Long userId = (Long) request.getAttribute("userId");
|
||||
UserAccount userAccount = commonService.copyProperties(userAccountUpdateRequest, UserAccount.class);
|
||||
userAccount.setUserId(userId);
|
||||
userAccountService.updateById(userAccount);
|
||||
return ResultUtils.success(true);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 小程序端用户根据id查询用户账户
|
||||
* @return 用户账户信息
|
||||
*/
|
||||
@PostMapping("queryById")
|
||||
@Operation(summary = "web端管理员根据id查询用户账户", description = "参数:无,权限:管理员,方法名:queryUserAccountByUserId")
|
||||
@RequiresPermission(mustRole = UserConstant.DEFAULT_ROLE)
|
||||
@SysLog(title = "用户账户管理", content = "web端管理员根据id查询用户账户")
|
||||
public BaseResponse<UserAccountVO> queryUserAccountByUserId(HttpServletRequest request) {
|
||||
Long userId = (Long) request.getAttribute("userId");
|
||||
LambdaQueryWrapper<UserAccount> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(UserAccount::getUserId, userId);
|
||||
UserAccount userAccount = userAccountService.getOne(lambdaQueryWrapper);
|
||||
UserAccountVO userAccountVO = commonService.copyProperties(userAccount, UserAccountVO.class);
|
||||
return ResultUtils.success(userAccountVO);
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -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 = "WithdrawalApply";
|
||||
private static final String ENTITY_NAME = "UserAccount";
|
||||
// 表名
|
||||
private static final String TABLE_NAME = "withdrawal_apply";
|
||||
private static final String TABLE_NAME = "user_account";
|
||||
// 实体类属性名
|
||||
private static final String ENTITY_NAME_LOWER = "withdrawalApply";
|
||||
private static final String ENTITY_NAME_LOWER = "userAccount";
|
||||
|
||||
// 父包名
|
||||
private static final String PARENT_PATH = "com.greenorange.promotion";
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
package com.greenorange.promotion.mapper;
|
||||
|
||||
import com.greenorange.promotion.model.entity.UserAccount;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* @author 35880
|
||||
* @description 针对表【user_account(用户账户表)】的数据库操作Mapper
|
||||
* @createDate 2025-05-11 01:44:18
|
||||
* @Entity com.greenorange.promotion.model.entity.UserAccount
|
||||
*/
|
||||
public interface UserAccountMapper extends BaseMapper<UserAccount> {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
package com.greenorange.promotion.model.dto.promoCodeApply;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.Min;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 推广码申请请求体
|
||||
*/
|
||||
@Data
|
||||
@Schema(description = "推广码申请记录添加请求体", requiredProperties = {
|
||||
"salespersonName",
|
||||
"salespersonPhone",
|
||||
"projectId",
|
||||
})
|
||||
public class PromoCodeApplyRequest implements Serializable {
|
||||
|
||||
/**
|
||||
* 业务员姓名
|
||||
*/
|
||||
@NotBlank(message = "业务员姓名不能为空")
|
||||
@Schema(description = "业务员姓名", example = "chenxinzhi")
|
||||
private String salespersonName;
|
||||
|
||||
/**
|
||||
* 业务员手机号
|
||||
*/
|
||||
@NotBlank(message = "业务员手机号不能为空")
|
||||
@Schema(description = "业务员手机号", example = "15888610253")
|
||||
private String salespersonPhone;
|
||||
|
||||
/**
|
||||
* 项目ID
|
||||
*/
|
||||
@Min(value = 1L, message = "项目ID ID不能小于1")
|
||||
@Schema(description = "项目ID", example = "1")
|
||||
private Long projectId;
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,57 @@
|
|||
package com.greenorange.promotion.model.dto.userAccount;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.Min;
|
||||
import lombok.Data;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 用户账户添加请求体
|
||||
*/
|
||||
@Data
|
||||
@Schema(description = "用户账户添加请求体", requiredProperties = {
|
||||
"cardHolder",
|
||||
"idCardNumber",
|
||||
"phoneNumber",
|
||||
"bankCardNumber",
|
||||
"userId",
|
||||
})
|
||||
public class UserAccountAddRequest implements Serializable {
|
||||
|
||||
/**
|
||||
* 持卡人
|
||||
*/
|
||||
@NotBlank(message = "持卡人不能为空")
|
||||
@Schema(description = "持卡人", example = "chenxinzhi")
|
||||
private String cardHolder;
|
||||
|
||||
/**
|
||||
* 身份证号
|
||||
*/
|
||||
@NotBlank(message = "身份证号不能为空")
|
||||
@Schema(description = "身份证号", example = "110101199001011234")
|
||||
private String idCardNumber;
|
||||
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
@NotBlank(message = "手机号不能为空")
|
||||
@Schema(description = "手机号", example = "15888610253")
|
||||
private String phoneNumber;
|
||||
|
||||
/**
|
||||
* 银行卡号
|
||||
*/
|
||||
@NotBlank(message = "银行卡号不能为空")
|
||||
@Schema(description = "银行卡号", example = "5105105105105100")
|
||||
private String bankCardNumber;
|
||||
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
||||
|
|
@ -0,0 +1,66 @@
|
|||
package com.greenorange.promotion.model.dto.userAccount;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.Min;
|
||||
import lombok.Data;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import com.greenorange.promotion.common.PageRequest;
|
||||
|
||||
/**
|
||||
* 用户账户查询请求体,继承自分页请求 PageRequest
|
||||
*/
|
||||
@Data
|
||||
@Schema(description = "用户账户查询请求体", requiredProperties = {"current", "pageSize"})
|
||||
public class UserAccountQueryRequest extends PageRequest implements Serializable {
|
||||
|
||||
/**
|
||||
* 账户ID
|
||||
*/
|
||||
@Min(value = 1L, message = "账户ID ID不能小于1")
|
||||
@Schema(description = "账户ID", example = "1")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 持卡人
|
||||
*/
|
||||
@NotBlank(message = "持卡人不能为空")
|
||||
@Schema(description = "持卡人", example = "chenxinzhi")
|
||||
private String cardHolder;
|
||||
|
||||
/**
|
||||
* 身份证号
|
||||
*/
|
||||
@NotBlank(message = "身份证号不能为空")
|
||||
@Schema(description = "身份证号", example = "110101199001011234")
|
||||
private String idCardNumber;
|
||||
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
@NotBlank(message = "手机号不能为空")
|
||||
@Schema(description = "手机号", example = "15888610253")
|
||||
private String phoneNumber;
|
||||
|
||||
/**
|
||||
* 银行卡号
|
||||
*/
|
||||
@NotBlank(message = "银行卡号不能为空")
|
||||
@Schema(description = "银行卡号", example = "5105105105105100")
|
||||
private String bankCardNumber;
|
||||
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
@Min(value = 1L, message = "用户ID ID不能小于1")
|
||||
@Schema(description = "用户ID", example = "1")
|
||||
private Long userId;
|
||||
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
||||
|
|
@ -0,0 +1,64 @@
|
|||
package com.greenorange.promotion.model.dto.userAccount;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.Min;
|
||||
import lombok.Data;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 用户账户更新请求体
|
||||
*/
|
||||
@Data
|
||||
@Schema(description = "用户账户更新请求体", requiredProperties = {
|
||||
"id",
|
||||
"cardHolder",
|
||||
"idCardNumber",
|
||||
"phoneNumber",
|
||||
"bankCardNumber",
|
||||
"userId",
|
||||
})
|
||||
public class UserAccountUpdateRequest implements Serializable {
|
||||
|
||||
/**
|
||||
* 账户ID
|
||||
*/
|
||||
@Min(value = 1L, message = "账户ID ID不能小于1")
|
||||
@Schema(description = "账户ID", example = "1")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 持卡人
|
||||
*/
|
||||
@NotBlank(message = "持卡人不能为空")
|
||||
@Schema(description = "持卡人", example = "chenxinzhi")
|
||||
private String cardHolder;
|
||||
|
||||
/**
|
||||
* 身份证号
|
||||
*/
|
||||
@NotBlank(message = "身份证号不能为空")
|
||||
@Schema(description = "身份证号", example = "110101199001011234")
|
||||
private String idCardNumber;
|
||||
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
@NotBlank(message = "手机号不能为空")
|
||||
@Schema(description = "手机号", example = "15888610253")
|
||||
private String phoneNumber;
|
||||
|
||||
/**
|
||||
* 银行卡号
|
||||
*/
|
||||
@NotBlank(message = "银行卡号不能为空")
|
||||
@Schema(description = "银行卡号", example = "5105105105105100")
|
||||
private String bankCardNumber;
|
||||
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
|
@ -28,20 +28,6 @@ public class WithdrawalApplyAddRequest implements Serializable {
|
|||
@Schema(description = "提现金额", example = "1.00")
|
||||
private BigDecimal withdrawnAmount;
|
||||
|
||||
/**
|
||||
* 提现状态[提现中(processing)|提现成功(success)|提现失败(failed)]
|
||||
*/
|
||||
@WithdrawStatusEnumValue(enumClass = WithdrawStatusEnum.class)
|
||||
@Schema(description = "提现状态[提现中(processing)|提现成功(success)|提现失败(failed)]", example = "processing")
|
||||
private String withdrawalStatus;
|
||||
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
@Min(value = 1L, message = "用户ID ID不能小于1")
|
||||
@Schema(description = "用户ID", example = "1")
|
||||
private Long userId;
|
||||
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
|
|
@ -0,0 +1,66 @@
|
|||
package com.greenorange.promotion.model.entity;
|
||||
|
||||
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 java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 用户账户表
|
||||
* @TableName user_account
|
||||
*/
|
||||
@TableName(value ="user_account")
|
||||
@Data
|
||||
public class UserAccount implements Serializable {
|
||||
/**
|
||||
* 账户ID
|
||||
*/
|
||||
@TableId(type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 持卡人
|
||||
*/
|
||||
private String cardHolder;
|
||||
|
||||
/**
|
||||
* 身份证号
|
||||
*/
|
||||
private String idCardNumber;
|
||||
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
private String phoneNumber;
|
||||
|
||||
/**
|
||||
* 银行卡号
|
||||
*/
|
||||
private String bankCardNumber;
|
||||
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 是否删除
|
||||
*/
|
||||
private Integer isDelete;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
private Date updateTime;
|
||||
|
||||
@TableField(exist = false)
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
|
@ -7,7 +7,11 @@ import com.baomidou.mybatisplus.annotation.TableName;
|
|||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 提现申请记录表
|
||||
|
@ -15,6 +19,9 @@ import lombok.Data;
|
|||
*/
|
||||
@TableName(value ="withdrawal_apply")
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public class WithdrawalApply implements Serializable {
|
||||
/**
|
||||
* 提现申请ID
|
||||
|
|
|
@ -38,17 +38,6 @@ public class FundsChangeVO implements Serializable {
|
|||
@Schema(description = "当前金额(变动后的总金额)", example = "0.34")
|
||||
private BigDecimal currentAmount;
|
||||
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
@Schema(description = "用户ID", example = "1")
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 项目结算记录ID
|
||||
*/
|
||||
@Schema(description = "项目结算记录ID", example = "1")
|
||||
private Long projectSettlementId;
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
|
|
@ -0,0 +1,59 @@
|
|||
package com.greenorange.promotion.model.vo.project;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@Data
|
||||
public class ProjectCardVO implements Serializable {
|
||||
|
||||
/**
|
||||
* 项目 ID
|
||||
*/
|
||||
@Schema(description = "项目 ID", example = "1")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 项目名称
|
||||
*/
|
||||
@Schema(description = "项目名称", example = "美团省钱包")
|
||||
private String projectName;
|
||||
|
||||
/**
|
||||
* 项目价格
|
||||
*/
|
||||
@Schema(description = "项目价格", example = "6.88")
|
||||
private BigDecimal projectPrice;
|
||||
|
||||
/**
|
||||
* 当前推广人数
|
||||
*/
|
||||
@Schema(description = "当前推广人数", example = "10")
|
||||
private Integer currentPromotionCount;
|
||||
|
||||
/**
|
||||
* 项目图片URL
|
||||
*/
|
||||
@Schema(description = "项目图片URL", example = "http://xxx.png")
|
||||
private String projectImage;
|
||||
|
||||
/**
|
||||
* 项目结算周期
|
||||
*/
|
||||
@Schema(description = "项目结算周期", example = "2")
|
||||
private Integer projectSettlementCycle;
|
||||
|
||||
|
||||
/**
|
||||
* 项目状态[项目运行(running)|人数已满(full)|项目暂停(paused)]
|
||||
*/
|
||||
@Schema(description = "项目状态[项目运行(running)|人数已满(full)|项目暂停(paused)]", example = "running")
|
||||
private String projectStatus;
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
}
|
|
@ -0,0 +1,88 @@
|
|||
package com.greenorange.promotion.model.vo.project;
|
||||
|
||||
import com.greenorange.promotion.model.entity.ProjectNotification;
|
||||
import com.greenorange.promotion.model.vo.projectNotification.ProjectNotificationVO;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class ProjectDetailVO implements Serializable {
|
||||
|
||||
/**
|
||||
* 项目 ID
|
||||
*/
|
||||
@Schema(description = "项目 ID", example = "1")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 项目名称
|
||||
*/
|
||||
@Schema(description = "项目名称", example = "美团省钱包")
|
||||
private String projectName;
|
||||
|
||||
/**
|
||||
* 项目图片URL
|
||||
*/
|
||||
@Schema(description = "项目图片URL", example = "http://xxx.png")
|
||||
private String projectImage;
|
||||
|
||||
/**
|
||||
* 项目价格
|
||||
*/
|
||||
@Schema(description = "项目价格", example = "6.88")
|
||||
private BigDecimal projectPrice;
|
||||
|
||||
/**
|
||||
* 项目简介
|
||||
*/
|
||||
@Schema(description = "项目简介", example = "不限制推广方式,禁止/恶意/夸大虚假宣传")
|
||||
private String projectDescription;
|
||||
|
||||
|
||||
/**
|
||||
* 项目状态[项目运行(running)|人数已满(full)|项目暂停(paused)]
|
||||
*/
|
||||
@Schema(description = "项目状态[项目运行(running)|人数已满(full)|项目暂停(paused)]", example = "running")
|
||||
private String projectStatus;
|
||||
|
||||
|
||||
/**
|
||||
* 结算说明(富文本)
|
||||
*/
|
||||
@Schema(description = "结算说明(富文本)", example = "富文本")
|
||||
private String settlementDesc;
|
||||
|
||||
/**
|
||||
* 项目说明(富文本)
|
||||
*/
|
||||
@Schema(description = "项目说明(富文本)", example = "富文本")
|
||||
private String projectDesc;
|
||||
|
||||
/**
|
||||
* 项目流程(富文本)
|
||||
*/
|
||||
@Schema(description = "项目流程(富文本)", example = "富文本")
|
||||
private String projectFlow;
|
||||
|
||||
/**
|
||||
* 项目通知列表
|
||||
*/
|
||||
@Schema(description = "项目通知列表")
|
||||
private List<ProjectNotificationVO> projectNotificationVOList;
|
||||
|
||||
/**
|
||||
* 项目明细列表
|
||||
*/
|
||||
@Schema(description = "项目明细列表")
|
||||
private List<ProjectDetailVO> projectDetailVOList;
|
||||
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
}
|
|
@ -0,0 +1,51 @@
|
|||
package com.greenorange.promotion.model.vo.userAccount;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 用户账户 视图对象
|
||||
*/
|
||||
@Data
|
||||
@Schema(description = "用户账户 视图对象")
|
||||
public class UserAccountVO implements Serializable {
|
||||
|
||||
/**
|
||||
* 用户账户ID
|
||||
*/
|
||||
@Schema(description = "用户账户ID", example = "1")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 持卡人
|
||||
*/
|
||||
@Schema(description = "持卡人", example = "chenxinzhi")
|
||||
private String cardHolder;
|
||||
|
||||
/**
|
||||
* 身份证号
|
||||
*/
|
||||
@Schema(description = "身份证号", example = "110101199001011234")
|
||||
private String idCardNumber;
|
||||
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
@Schema(description = "手机号", example = "15888610253")
|
||||
private String phoneNumber;
|
||||
|
||||
/**
|
||||
* 银行卡号
|
||||
*/
|
||||
@Schema(description = "银行卡号", example = "5105105105105100")
|
||||
private String bankCardNumber;
|
||||
|
||||
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
|
@ -32,12 +32,6 @@ public class WithdrawalApplyVO implements Serializable {
|
|||
@Schema(description = "提现状态", example = "processing")
|
||||
private String withdrawalStatus;
|
||||
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
@Schema(description = "用户ID", example = "1")
|
||||
private Long userId;
|
||||
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
package com.greenorange.promotion.service.settle;
|
||||
|
||||
import com.greenorange.promotion.model.entity.UserAccount;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* @author 35880
|
||||
* @description 针对表【user_account(用户账户表)】的数据库操作Service
|
||||
* @createDate 2025-05-11 01:44:18
|
||||
*/
|
||||
public interface UserAccountService extends IService<UserAccount> {
|
||||
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
package com.greenorange.promotion.service.settle.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.greenorange.promotion.model.entity.UserAccount;
|
||||
import com.greenorange.promotion.service.settle.UserAccountService;
|
||||
import com.greenorange.promotion.mapper.UserAccountMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* @author 35880
|
||||
* @description 针对表【user_account(用户账户表)】的数据库操作Service实现
|
||||
* @createDate 2025-05-11 01:44:18
|
||||
*/
|
||||
@Service
|
||||
public class UserAccountServiceImpl extends ServiceImpl<UserAccountMapper, UserAccount>
|
||||
implements UserAccountService{
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
24
src/main/resources/mapper/UserAccountMapper.xml
Normal file
24
src/main/resources/mapper/UserAccountMapper.xml
Normal file
|
@ -0,0 +1,24 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.greenorange.promotion.mapper.UserAccountMapper">
|
||||
|
||||
<resultMap id="BaseResultMap" type="com.greenorange.promotion.model.entity.UserAccount">
|
||||
<id property="id" column="id" jdbcType="BIGINT"/>
|
||||
<result property="cardHolder" column="cardHolder" jdbcType="VARCHAR"/>
|
||||
<result property="idCardNumber" column="idCardNumber" jdbcType="VARCHAR"/>
|
||||
<result property="phoneNumber" column="phoneNumber" jdbcType="VARCHAR"/>
|
||||
<result property="bankCardNumber" column="bankCardNumber" jdbcType="VARCHAR"/>
|
||||
<result property="userId" column="userId" jdbcType="BIGINT"/>
|
||||
<result property="isDelete" column="isDelete" jdbcType="TINYINT"/>
|
||||
<result property="createTime" column="createTime" jdbcType="TIMESTAMP"/>
|
||||
<result property="updateTime" column="updateTime" jdbcType="TIMESTAMP"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="Base_Column_List">
|
||||
id,cardHolder,idCardNumber,
|
||||
phoneNumber,bankCardNumber,userId,
|
||||
isDelete,createTime,updateTime
|
||||
</sql>
|
||||
</mapper>
|
Loading…
Reference in New Issue
Block a user