结算记录
This commit is contained in:
parent
9239d7fa7a
commit
820f1763bd
|
@ -0,0 +1,148 @@
|
|||
package com.greenorange.promotion.controller.fundsChange;
|
||||
|
||||
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.fundsChange.FundsChangeAddRequest;
|
||||
import com.greenorange.promotion.model.dto.fundsChange.FundsChangeQueryRequest;
|
||||
import com.greenorange.promotion.model.dto.fundsChange.FundsChangeUpdateRequest;
|
||||
import com.greenorange.promotion.model.entity.FundsChange;
|
||||
import com.greenorange.promotion.model.vo.fundsChange.FundsChangeVO;
|
||||
import com.greenorange.promotion.service.common.CommonService;
|
||||
import com.greenorange.promotion.service.settle.FundsChangeService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.annotation.Resource;
|
||||
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("fundsChange")
|
||||
@Slf4j
|
||||
@Tag(name = "资金变动记录管理")
|
||||
public class FundsChangeController {
|
||||
|
||||
@Resource
|
||||
private FundsChangeService fundsChangeService;
|
||||
|
||||
@Resource
|
||||
private CommonService commonService;
|
||||
|
||||
/**
|
||||
* web端管理员添加资金变动记录
|
||||
* @param fundsChangeAddRequest 资金变动记录添加请求体
|
||||
* @return 是否添加成功
|
||||
*/
|
||||
@PostMapping("add")
|
||||
@Operation(summary = "web端管理员添加资金变动记录", description = "参数:资金变动记录添加请求体,权限:管理员,方法名:addFundsChange")
|
||||
@RequiresPermission(mustRole = UserConstant.ADMIN_ROLE)
|
||||
@SysLog(title = "资金变动记录管理", content = "web端管理员添加资金变动记录")
|
||||
public BaseResponse<Boolean> addFundsChange(@Valid @RequestBody FundsChangeAddRequest fundsChangeAddRequest) {
|
||||
FundsChange fundsChange = commonService.copyProperties(fundsChangeAddRequest, FundsChange.class);
|
||||
fundsChangeService.save(fundsChange);
|
||||
return ResultUtils.success(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* web端管理员根据id修改资金变动记录信息
|
||||
* @param fundsChangeUpdateRequest 资金变动记录更新请求体
|
||||
* @return 是否更新成功
|
||||
*/
|
||||
@PostMapping("update")
|
||||
@Operation(summary = "web端管理员更新资金变动记录", description = "参数:资金变动记录更新请求体,权限:管理员,方法名:updateFundsChange")
|
||||
@RequiresPermission(mustRole = UserConstant.ADMIN_ROLE)
|
||||
@SysLog(title = "资金变动记录管理", content = "web端管理员根据id修改资金变动记录信息")
|
||||
public BaseResponse<Boolean> updateFundsChange(@Valid @RequestBody FundsChangeUpdateRequest fundsChangeUpdateRequest) {
|
||||
FundsChange fundsChange = commonService.copyProperties(fundsChangeUpdateRequest, FundsChange.class);
|
||||
fundsChangeService.updateById(fundsChange);
|
||||
return ResultUtils.success(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* web端管理员根据id删除资金变动记录
|
||||
* @param commonRequest 资金变动记录删除请求体
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
@PostMapping("delete")
|
||||
@Operation(summary = "web端管理员根据id删除资金变动记录", description = "参数:资金变动记录删除请求体,权限:管理员,方法名:delFundsChange")
|
||||
@RequiresPermission(mustRole = UserConstant.ADMIN_ROLE)
|
||||
@SysLog(title = "资金变动记录管理", content = "web端管理员根据id删除资金变动记录")
|
||||
public BaseResponse<Boolean> delFundsChange(@Valid @RequestBody CommonRequest commonRequest) {
|
||||
Long id = commonRequest.getId();
|
||||
fundsChangeService.removeById(id);
|
||||
return ResultUtils.success(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* web端管理员批量删除资金变动记录
|
||||
* @param commonBatchRequest 资金变动记录批量删除请求体
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
@PostMapping("delBatch")
|
||||
@Operation(summary = "web端管理员批量删除资金变动记录", description = "参数:资金变动记录批量删除请求体,权限:管理员,方法名:delBatchFundsChange")
|
||||
@RequiresPermission(mustRole = UserConstant.ADMIN_ROLE)
|
||||
@SysLog(title = "资金变动记录管理", content = "web端管理员批量删除资金变动记录")
|
||||
public BaseResponse<Boolean> delBatchFundsChange(@Valid @RequestBody CommonBatchRequest commonBatchRequest) {
|
||||
List<Long> ids = commonBatchRequest.getIds();
|
||||
fundsChangeService.removeByIds(ids);
|
||||
return ResultUtils.success(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* web端管理员根据id查询资金变动记录
|
||||
* @param commonRequest 资金变动记录查询请求体
|
||||
* @return 资金变动记录信息
|
||||
*/
|
||||
@PostMapping("queryById")
|
||||
@Operation(summary = "web端管理员根据id查询资金变动记录", description = "参数:资金变动记录查询请求体,权限:管理员,方法名:queryFundsChangeById")
|
||||
@RequiresPermission(mustRole = UserConstant.ADMIN_ROLE)
|
||||
@SysLog(title = "资金变动记录管理", content = "web端管理员根据id查询资金变动记录")
|
||||
public BaseResponse<FundsChangeVO> queryFundsChangeById(@Valid @RequestBody CommonRequest commonRequest) {
|
||||
Long id = commonRequest.getId();
|
||||
FundsChange fundsChange = fundsChangeService.getById(id);
|
||||
ThrowUtils.throwIf(fundsChange == null, ErrorCode.OPERATION_ERROR, "当前资金变动记录不存在");
|
||||
FundsChangeVO fundsChangeVO = commonService.copyProperties(fundsChange, FundsChangeVO.class);
|
||||
return ResultUtils.success(fundsChangeVO);
|
||||
}
|
||||
|
||||
// /**
|
||||
// * Web端管理员分页查询资金变动记录
|
||||
// * @param fundsChangeQueryRequest 资金变动记录查询请求体
|
||||
// * @return 资金变动记录列表
|
||||
// */
|
||||
// @PostMapping("page")
|
||||
// @Operation(summary = "Web端管理员分页查询资金变动记录", description = "参数:资金变动记录查询请求体,权限:管理员,方法名:listFundsChangeByPage")
|
||||
// @RequiresPermission(mustRole = UserConstant.ADMIN_ROLE)
|
||||
// @SysLog(title = "资金变动记录管理", content = "Web端管理员分页查询资金变动记录")
|
||||
// public BaseResponse<Page<FundsChangeVO>> listFundsChangeByPage(@Valid @RequestBody FundsChangeQueryRequest fundsChangeQueryRequest) {
|
||||
// long current = fundsChangeQueryRequest.getCurrent();
|
||||
// long pageSize = fundsChangeQueryRequest.getPageSize();
|
||||
// QueryWrapper<FundsChange> queryWrapper = fundsChangeService.getQueryWrapper(fundsChangeQueryRequest);
|
||||
// Page<FundsChange> page = fundsChangeService.page(new Page<>(current, pageSize), queryWrapper);
|
||||
// List<FundsChange> fundsChangeList = page.getRecords();
|
||||
// List<FundsChangeVO> fundsChangeVOList = commonService.convertList(fundsChangeList, FundsChangeVO.class);
|
||||
// Page<FundsChangeVO> voPage = new Page<>(current, pageSize);
|
||||
// voPage.setRecords(fundsChangeVOList);
|
||||
// voPage.setPages(page.getPages());
|
||||
// voPage.setTotal(page.getTotal());
|
||||
// return ResultUtils.success(voPage);
|
||||
// }
|
||||
}
|
|
@ -0,0 +1,148 @@
|
|||
package com.greenorange.promotion.controller.projectSettlement;
|
||||
|
||||
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.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.vo.projectSettlement.ProjectSettlementVO;
|
||||
import com.greenorange.promotion.service.common.CommonService;
|
||||
import com.greenorange.promotion.service.settle.ProjectSettlementService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.annotation.Resource;
|
||||
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("projectSettlement")
|
||||
@Slf4j
|
||||
@Tag(name = "项目结算记录管理")
|
||||
public class ProjectSettlementController {
|
||||
|
||||
@Resource
|
||||
private ProjectSettlementService projectSettlementService;
|
||||
|
||||
@Resource
|
||||
private CommonService commonService;
|
||||
|
||||
/**
|
||||
* web端管理员添加项目结算记录
|
||||
* @param projectSettlementAddRequest 项目结算记录添加请求体
|
||||
* @return 是否添加成功
|
||||
*/
|
||||
@PostMapping("add")
|
||||
@Operation(summary = "web端管理员添加项目结算记录", description = "参数:项目结算记录添加请求体,权限:管理员,方法名:addProjectSettlement")
|
||||
@RequiresPermission(mustRole = UserConstant.ADMIN_ROLE)
|
||||
@SysLog(title = "项目结算记录管理", content = "web端管理员添加项目结算记录")
|
||||
public BaseResponse<Boolean> addProjectSettlement(@Valid @RequestBody ProjectSettlementAddRequest projectSettlementAddRequest) {
|
||||
ProjectSettlement projectSettlement = commonService.copyProperties(projectSettlementAddRequest, ProjectSettlement.class);
|
||||
projectSettlementService.save(projectSettlement);
|
||||
return ResultUtils.success(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* web端管理员根据id修改项目结算记录信息
|
||||
* @param projectSettlementUpdateRequest 项目结算记录更新请求体
|
||||
* @return 是否更新成功
|
||||
*/
|
||||
@PostMapping("update")
|
||||
@Operation(summary = "web端管理员更新项目结算记录", description = "参数:项目结算记录更新请求体,权限:管理员,方法名:updateProjectSettlement")
|
||||
@RequiresPermission(mustRole = UserConstant.ADMIN_ROLE)
|
||||
@SysLog(title = "项目结算记录管理", content = "web端管理员根据id修改项目结算记录信息")
|
||||
public BaseResponse<Boolean> updateProjectSettlement(@Valid @RequestBody ProjectSettlementUpdateRequest projectSettlementUpdateRequest) {
|
||||
ProjectSettlement projectSettlement = commonService.copyProperties(projectSettlementUpdateRequest, ProjectSettlement.class);
|
||||
projectSettlementService.updateById(projectSettlement);
|
||||
return ResultUtils.success(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* web端管理员根据id删除项目结算记录
|
||||
* @param commonRequest 项目结算记录删除请求体
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
@PostMapping("delete")
|
||||
@Operation(summary = "web端管理员根据id删除项目结算记录", description = "参数:项目结算记录删除请求体,权限:管理员,方法名:delProjectSettlement")
|
||||
@RequiresPermission(mustRole = UserConstant.ADMIN_ROLE)
|
||||
@SysLog(title = "项目结算记录管理", content = "web端管理员根据id删除项目结算记录")
|
||||
public BaseResponse<Boolean> delProjectSettlement(@Valid @RequestBody CommonRequest commonRequest) {
|
||||
Long id = commonRequest.getId();
|
||||
projectSettlementService.removeById(id);
|
||||
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<Boolean> delBatchProjectSettlement(@Valid @RequestBody CommonBatchRequest commonBatchRequest) {
|
||||
List<Long> ids = commonBatchRequest.getIds();
|
||||
projectSettlementService.removeByIds(ids);
|
||||
return ResultUtils.success(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* web端管理员根据id查询项目结算记录
|
||||
* @param commonRequest 项目结算记录查询请求体
|
||||
* @return 项目结算记录信息
|
||||
*/
|
||||
@PostMapping("queryById")
|
||||
@Operation(summary = "web端管理员根据id查询项目结算记录", description = "参数:项目结算记录查询请求体,权限:管理员,方法名:queryProjectSettlementById")
|
||||
@RequiresPermission(mustRole = UserConstant.ADMIN_ROLE)
|
||||
@SysLog(title = "项目结算记录管理", content = "web端管理员根据id查询项目结算记录")
|
||||
public BaseResponse<ProjectSettlementVO> queryProjectSettlementById(@Valid @RequestBody CommonRequest commonRequest) {
|
||||
Long id = commonRequest.getId();
|
||||
ProjectSettlement projectSettlement = projectSettlementService.getById(id);
|
||||
ThrowUtils.throwIf(projectSettlement == null, ErrorCode.OPERATION_ERROR, "当前项目结算记录不存在");
|
||||
ProjectSettlementVO projectSettlementVO = commonService.copyProperties(projectSettlement, ProjectSettlementVO.class);
|
||||
return ResultUtils.success(projectSettlementVO);
|
||||
}
|
||||
|
||||
// /**
|
||||
// * Web端管理员分页查询项目结算记录
|
||||
// * @param projectSettlementQueryRequest 项目结算记录查询请求体
|
||||
// * @return 项目结算记录列表
|
||||
// */
|
||||
// @PostMapping("page")
|
||||
// @Operation(summary = "Web端管理员分页查询项目结算记录", description = "参数:项目结算记录查询请求体,权限:管理员,方法名:listProjectSettlementByPage")
|
||||
// @RequiresPermission(mustRole = UserConstant.ADMIN_ROLE)
|
||||
// @SysLog(title = "项目结算记录管理", content = "Web端管理员分页查询项目结算记录")
|
||||
// public BaseResponse<Page<ProjectSettlementVO>> listProjectSettlementByPage(@Valid @RequestBody ProjectSettlementQueryRequest projectSettlementQueryRequest) {
|
||||
// long current = projectSettlementQueryRequest.getCurrent();
|
||||
// long pageSize = projectSettlementQueryRequest.getPageSize();
|
||||
// QueryWrapper<ProjectSettlement> queryWrapper = projectSettlementService.getQueryWrapper(projectSettlementQueryRequest);
|
||||
// Page<ProjectSettlement> page = projectSettlementService.page(new Page<>(current, pageSize), queryWrapper);
|
||||
// List<ProjectSettlement> projectSettlementList = page.getRecords();
|
||||
// List<ProjectSettlementVO> projectSettlementVOList = commonService.convertList(projectSettlementList, ProjectSettlementVO.class);
|
||||
// Page<ProjectSettlementVO> voPage = new Page<>(current, pageSize);
|
||||
// voPage.setRecords(projectSettlementVOList);
|
||||
// voPage.setPages(page.getPages());
|
||||
// voPage.setTotal(page.getTotal());
|
||||
// return ResultUtils.success(voPage);
|
||||
// }
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
package com.greenorange.promotion.mapper;
|
||||
|
||||
import com.greenorange.promotion.model.entity.FundsChange;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* @author 35880
|
||||
* @description 针对表【funds_change(资金变动记录表)】的数据库操作Mapper
|
||||
* @createDate 2025-05-10 18:47:20
|
||||
* @Entity com.greenorange.promotion.model.entity.FundsChange
|
||||
*/
|
||||
public interface FundsChangeMapper extends BaseMapper<FundsChange> {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
package com.greenorange.promotion.mapper;
|
||||
|
||||
import com.greenorange.promotion.model.entity.ProjectSettlement;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* @author 35880
|
||||
* @description 针对表【project_settlement(项目结算记录表)】的数据库操作Mapper
|
||||
* @createDate 2025-05-10 18:02:22
|
||||
* @Entity com.greenorange.promotion.model.entity.ProjectSettlement
|
||||
*/
|
||||
public interface ProjectSettlementMapper extends BaseMapper<ProjectSettlement> {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,54 @@
|
|||
package com.greenorange.promotion.model.dto.fundsChange;
|
||||
|
||||
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 = {
|
||||
"projectName",
|
||||
"changeAmount",
|
||||
"currentAmount",
|
||||
"userId",
|
||||
})
|
||||
public class FundsChangeAddRequest implements Serializable {
|
||||
|
||||
/**
|
||||
* 项目名称
|
||||
*/
|
||||
@NotBlank(message = "项目名称不能为空")
|
||||
@Schema(description = "项目名称", example = "饿了么-超吃卡")
|
||||
private String projectName;
|
||||
|
||||
/**
|
||||
* 变动金额
|
||||
*/
|
||||
@Schema(description = "变动金额", example = "0.96")
|
||||
private BigDecimal changeAmount;
|
||||
|
||||
/**
|
||||
* 当前金额(变动后的总金额)
|
||||
*/
|
||||
@Schema(description = "当前金额(变动后的总金额)", example = "0.34")
|
||||
private BigDecimal currentAmount;
|
||||
|
||||
/**
|
||||
* 用户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,57 @@
|
|||
package com.greenorange.promotion.model.dto.fundsChange;
|
||||
|
||||
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 FundsChangeQueryRequest 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 = "饿了么-超吃卡")
|
||||
private String projectName;
|
||||
|
||||
/**
|
||||
* 变动金额
|
||||
*/
|
||||
@Schema(description = "变动金额", example = "0.96")
|
||||
private BigDecimal changeAmount;
|
||||
|
||||
/**
|
||||
* 当前金额(变动后的总金额)
|
||||
*/
|
||||
@Schema(description = "当前金额(变动后的总金额)", example = "0.34")
|
||||
private BigDecimal currentAmount;
|
||||
|
||||
/**
|
||||
* 用户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,61 @@
|
|||
package com.greenorange.promotion.model.dto.fundsChange;
|
||||
|
||||
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",
|
||||
"projectName",
|
||||
"changeAmount",
|
||||
"currentAmount",
|
||||
"userId",
|
||||
})
|
||||
public class FundsChangeUpdateRequest implements Serializable {
|
||||
|
||||
/**
|
||||
* 资金变动ID
|
||||
*/
|
||||
@Min(value = 1L, message = "资金变动ID ID不能小于1")
|
||||
@Schema(description = "资金变动ID", example = "1")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 项目名称
|
||||
*/
|
||||
@NotBlank(message = "项目名称不能为空")
|
||||
@Schema(description = "项目名称", example = "饿了么-超吃卡")
|
||||
private String projectName;
|
||||
|
||||
/**
|
||||
* 变动金额
|
||||
*/
|
||||
@Schema(description = "变动金额", example = "0.96")
|
||||
private BigDecimal changeAmount;
|
||||
|
||||
/**
|
||||
* 当前金额(变动后的总金额)
|
||||
*/
|
||||
@Schema(description = "当前金额(变动后的总金额)", example = "0.34")
|
||||
private BigDecimal currentAmount;
|
||||
|
||||
/**
|
||||
* 用户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,69 @@
|
|||
package com.greenorange.promotion.model.dto.projectSettlement;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.Min;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 项目结算记录添加请求体
|
||||
*/
|
||||
@Data
|
||||
@Schema(description = "项目结算记录添加请求体", requiredProperties = {
|
||||
"projectDetailName",
|
||||
"settlementQuantity",
|
||||
"settlementRevenue",
|
||||
"workTime",
|
||||
"settlementTime",
|
||||
"promoCodeRequestRecordId",
|
||||
})
|
||||
public class ProjectSettlementAddRequest implements Serializable {
|
||||
|
||||
/**
|
||||
* 项目明细名称
|
||||
*/
|
||||
@NotBlank(message = "项目明细名称不能为空")
|
||||
@Schema(description = "项目明细名称", example = "新用户完成首单")
|
||||
private String projectDetailName;
|
||||
|
||||
/**
|
||||
* 结算数量
|
||||
*/
|
||||
@Schema(description = "结算数量", example = "2")
|
||||
private Integer settlementQuantity;
|
||||
|
||||
/**
|
||||
* 结算收益
|
||||
*/
|
||||
@Schema(description = "结算收益", example = "2.34")
|
||||
private BigDecimal settlementRevenue;
|
||||
|
||||
/**
|
||||
* 作业时间
|
||||
*/
|
||||
@Schema(description = "作业时间", example = "2025-05-10 10:00:00")
|
||||
private LocalDateTime workTime;
|
||||
|
||||
/**
|
||||
* 结算时间
|
||||
*/
|
||||
@Schema(description = "结算时间", example = "2025-05-12 10:00:00")
|
||||
private LocalDateTime settlementTime;
|
||||
|
||||
/**
|
||||
* 推广码申请记录id
|
||||
*/
|
||||
@Min(value = 1L, message = "推广码申请记录id ID不能小于1")
|
||||
@Schema(description = "推广码申请记录id", example = "1")
|
||||
private Long promoCodeRequestRecordId;
|
||||
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
||||
|
|
@ -0,0 +1,71 @@
|
|||
package com.greenorange.promotion.model.dto.projectSettlement;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.Min;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import com.greenorange.promotion.common.PageRequest;
|
||||
|
||||
/**
|
||||
* 项目结算记录查询请求体,继承自分页请求 PageRequest
|
||||
*/
|
||||
@Data
|
||||
@Schema(description = "项目结算记录查询请求体", requiredProperties = {"current", "pageSize"})
|
||||
public class ProjectSettlementQueryRequest 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 = "新用户完成首单")
|
||||
private String projectDetailName;
|
||||
|
||||
/**
|
||||
* 结算数量
|
||||
*/
|
||||
@Schema(description = "结算数量", example = "2")
|
||||
private Integer settlementQuantity;
|
||||
|
||||
/**
|
||||
* 结算收益
|
||||
*/
|
||||
@Schema(description = "结算收益", example = "2.34")
|
||||
private BigDecimal settlementRevenue;
|
||||
|
||||
/**
|
||||
* 作业时间
|
||||
*/
|
||||
@Schema(description = "作业时间", example = "2025-05-10 10:00:00")
|
||||
private LocalDateTime workTime;
|
||||
|
||||
/**
|
||||
* 结算时间
|
||||
*/
|
||||
@Schema(description = "结算时间", example = "2025-05-12 10:00:00")
|
||||
private LocalDateTime settlementTime;
|
||||
|
||||
/**
|
||||
* 推广码申请记录id
|
||||
*/
|
||||
@Min(value = 1L, message = "推广码申请记录id ID不能小于1")
|
||||
@Schema(description = "推广码申请记录id", example = "1")
|
||||
private Long promoCodeRequestRecordId;
|
||||
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
||||
|
|
@ -0,0 +1,76 @@
|
|||
package com.greenorange.promotion.model.dto.projectSettlement;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.Min;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 项目结算记录更新请求体
|
||||
*/
|
||||
@Data
|
||||
@Schema(description = "项目结算记录更新请求体", requiredProperties = {
|
||||
"id",
|
||||
"projectDetailName",
|
||||
"settlementQuantity",
|
||||
"settlementRevenue",
|
||||
"workTime",
|
||||
"settlementTime",
|
||||
"promoCodeRequestRecordId",
|
||||
})
|
||||
public class ProjectSettlementUpdateRequest implements Serializable {
|
||||
|
||||
/**
|
||||
* 结算记录ID
|
||||
*/
|
||||
@Min(value = 1L, message = "结算记录ID ID不能小于1")
|
||||
@Schema(description = "结算记录ID", example = "1")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 项目明细名称
|
||||
*/
|
||||
@NotBlank(message = "项目明细名称不能为空")
|
||||
@Schema(description = "项目明细名称", example = "新用户完成首单")
|
||||
private String projectDetailName;
|
||||
|
||||
/**
|
||||
* 结算数量
|
||||
*/
|
||||
@Schema(description = "结算数量", example = "2")
|
||||
private Integer settlementQuantity;
|
||||
|
||||
/**
|
||||
* 结算收益
|
||||
*/
|
||||
@Schema(description = "结算收益", example = "2.34")
|
||||
private BigDecimal settlementRevenue;
|
||||
|
||||
/**
|
||||
* 作业时间
|
||||
*/
|
||||
@Schema(description = "作业时间", example = "2025-05-10 10:00:00")
|
||||
private LocalDateTime workTime;
|
||||
|
||||
/**
|
||||
* 结算时间
|
||||
*/
|
||||
@Schema(description = "结算时间", example = "2025-05-12 10:00:00")
|
||||
private LocalDateTime settlementTime;
|
||||
|
||||
/**
|
||||
* 推广码申请记录id
|
||||
*/
|
||||
@Min(value = 1L, message = "推广码申请记录id ID不能小于1")
|
||||
@Schema(description = "推广码申请记录id", example = "1")
|
||||
private Long promoCodeRequestRecordId;
|
||||
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
|
@ -0,0 +1,62 @@
|
|||
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.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 资金变动记录表
|
||||
* @TableName funds_change
|
||||
*/
|
||||
@TableName(value ="funds_change")
|
||||
@Data
|
||||
public class FundsChange implements Serializable {
|
||||
/**
|
||||
* 资金变动ID
|
||||
*/
|
||||
@TableId(type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 项目名称
|
||||
*/
|
||||
private String projectName;
|
||||
|
||||
/**
|
||||
* 变动金额
|
||||
*/
|
||||
private BigDecimal changeAmount;
|
||||
|
||||
/**
|
||||
* 当前金额(变动后的总金额)
|
||||
*/
|
||||
private BigDecimal currentAmount;
|
||||
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 是否删除
|
||||
*/
|
||||
private Integer isDelete;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
private Date updateTime;
|
||||
|
||||
@TableField(exist = false)
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
|
@ -0,0 +1,72 @@
|
|||
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.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 项目结算记录表
|
||||
* @TableName project_settlement
|
||||
*/
|
||||
@TableName(value ="project_settlement")
|
||||
@Data
|
||||
public class ProjectSettlement implements Serializable {
|
||||
/**
|
||||
* 结算记录ID
|
||||
*/
|
||||
@TableId(type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 项目明细名称
|
||||
*/
|
||||
private String projectDetailName;
|
||||
|
||||
/**
|
||||
* 结算数量
|
||||
*/
|
||||
private Integer settlementQuantity;
|
||||
|
||||
/**
|
||||
* 结算收益
|
||||
*/
|
||||
private BigDecimal settlementRevenue;
|
||||
|
||||
/**
|
||||
* 作业时间
|
||||
*/
|
||||
private Date workTime;
|
||||
|
||||
/**
|
||||
* 结算时间
|
||||
*/
|
||||
private Date settlementTime;
|
||||
|
||||
/**
|
||||
* 推广码申请记录id
|
||||
*/
|
||||
private Long promoCodeRequestRecordId;
|
||||
|
||||
/**
|
||||
* 是否删除
|
||||
*/
|
||||
private Integer isDelete;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
private Date updateTime;
|
||||
|
||||
@TableField(exist = false)
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
|
@ -0,0 +1,50 @@
|
|||
package com.greenorange.promotion.model.vo.fundsChange;
|
||||
|
||||
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 FundsChangeVO implements Serializable {
|
||||
|
||||
/**
|
||||
* 资金变动记录ID
|
||||
*/
|
||||
@Schema(description = "资金变动记录ID", example = "1")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 项目名称
|
||||
*/
|
||||
@Schema(description = "项目名称", example = "饿了么-超吃卡")
|
||||
private String projectName;
|
||||
|
||||
/**
|
||||
* 变动金额
|
||||
*/
|
||||
@Schema(description = "变动金额", example = "0.96")
|
||||
private BigDecimal changeAmount;
|
||||
|
||||
/**
|
||||
* 当前金额(变动后的总金额)
|
||||
*/
|
||||
@Schema(description = "当前金额(变动后的总金额)", example = "0.34")
|
||||
private BigDecimal currentAmount;
|
||||
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
@Schema(description = "用户ID", example = "1")
|
||||
private Long userId;
|
||||
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
|
@ -0,0 +1,63 @@
|
|||
package com.greenorange.promotion.model.vo.projectSettlement;
|
||||
|
||||
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.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 项目结算记录 视图对象
|
||||
*/
|
||||
@Data
|
||||
@Schema(description = "项目结算记录 视图对象")
|
||||
public class ProjectSettlementVO implements Serializable {
|
||||
|
||||
/**
|
||||
* 项目结算记录ID
|
||||
*/
|
||||
@Schema(description = "项目结算记录ID", example = "1")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 项目明细名称
|
||||
*/
|
||||
@Schema(description = "项目明细名称", example = "新用户完成首单")
|
||||
private String projectDetailName;
|
||||
|
||||
/**
|
||||
* 结算数量
|
||||
*/
|
||||
@Schema(description = "结算数量", example = "2")
|
||||
private Integer settlementQuantity;
|
||||
|
||||
/**
|
||||
* 结算收益
|
||||
*/
|
||||
@Schema(description = "结算收益", example = "2.34")
|
||||
private BigDecimal settlementRevenue;
|
||||
|
||||
/**
|
||||
* 作业时间
|
||||
*/
|
||||
@Schema(description = "作业时间", example = "2025-05-10 10:00:00")
|
||||
private LocalDateTime workTime;
|
||||
|
||||
/**
|
||||
* 结算时间
|
||||
*/
|
||||
@Schema(description = "结算时间", example = "2025-05-12 10:00:00")
|
||||
private LocalDateTime settlementTime;
|
||||
|
||||
/**
|
||||
* 推广码申请记录id
|
||||
*/
|
||||
@Schema(description = "推广码申请记录id", example = "1")
|
||||
private Long promoCodeRequestRecordId;
|
||||
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
package com.greenorange.promotion.service.settle;
|
||||
|
||||
import com.greenorange.promotion.model.entity.FundsChange;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* @author 35880
|
||||
* @description 针对表【funds_change(资金变动记录表)】的数据库操作Service
|
||||
* @createDate 2025-05-10 18:47:20
|
||||
*/
|
||||
public interface FundsChangeService extends IService<FundsChange> {
|
||||
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
package com.greenorange.promotion.service.settle;
|
||||
|
||||
import com.greenorange.promotion.model.entity.ProjectSettlement;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* @author 35880
|
||||
* @description 针对表【project_settlement(项目结算记录表)】的数据库操作Service
|
||||
* @createDate 2025-05-10 18:02:22
|
||||
*/
|
||||
public interface ProjectSettlementService extends IService<ProjectSettlement> {
|
||||
|
||||
}
|
|
@ -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.FundsChange;
|
||||
import com.greenorange.promotion.service.settle.FundsChangeService;
|
||||
import com.greenorange.promotion.mapper.FundsChangeMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* @author 35880
|
||||
* @description 针对表【funds_change(资金变动记录表)】的数据库操作Service实现
|
||||
* @createDate 2025-05-10 18:47:20
|
||||
*/
|
||||
@Service
|
||||
public class FundsChangeServiceImpl extends ServiceImpl<FundsChangeMapper, FundsChange>
|
||||
implements FundsChangeService{
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
@ -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.ProjectSettlement;
|
||||
import com.greenorange.promotion.service.settle.ProjectSettlementService;
|
||||
import com.greenorange.promotion.mapper.ProjectSettlementMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* @author 35880
|
||||
* @description 针对表【project_settlement(项目结算记录表)】的数据库操作Service实现
|
||||
* @createDate 2025-05-10 18:02:22
|
||||
*/
|
||||
@Service
|
||||
public class ProjectSettlementServiceImpl extends ServiceImpl<ProjectSettlementMapper, ProjectSettlement>
|
||||
implements ProjectSettlementService{
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
23
src/main/resources/mapper/FundsChangeMapper.xml
Normal file
23
src/main/resources/mapper/FundsChangeMapper.xml
Normal file
|
@ -0,0 +1,23 @@
|
|||
<?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.FundsChangeMapper">
|
||||
|
||||
<resultMap id="BaseResultMap" type="com.greenorange.promotion.model.entity.FundsChange">
|
||||
<id property="id" column="id" jdbcType="BIGINT"/>
|
||||
<result property="projectName" column="projectName" jdbcType="VARCHAR"/>
|
||||
<result property="changeAmount" column="changeAmount" jdbcType="DECIMAL"/>
|
||||
<result property="currentAmount" column="currentAmount" jdbcType="DECIMAL"/>
|
||||
<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,projectName,changeAmount,
|
||||
currentAmount,userId,isDelete,
|
||||
createTime,updateTime
|
||||
</sql>
|
||||
</mapper>
|
26
src/main/resources/mapper/ProjectSettlementMapper.xml
Normal file
26
src/main/resources/mapper/ProjectSettlementMapper.xml
Normal file
|
@ -0,0 +1,26 @@
|
|||
<?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.ProjectSettlementMapper">
|
||||
|
||||
<resultMap id="BaseResultMap" type="com.greenorange.promotion.model.entity.ProjectSettlement">
|
||||
<id property="id" column="id" jdbcType="BIGINT"/>
|
||||
<result property="projectDetailName" column="projectDetailName" jdbcType="VARCHAR"/>
|
||||
<result property="settlementQuantity" column="settlementQuantity" jdbcType="INTEGER"/>
|
||||
<result property="settlementRevenue" column="settlementRevenue" jdbcType="DECIMAL"/>
|
||||
<result property="workTime" column="workTime" jdbcType="TIMESTAMP"/>
|
||||
<result property="settlementTime" column="settlementTime" jdbcType="TIMESTAMP"/>
|
||||
<result property="promoCodeRequestRecordId" column="promoCodeRequestRecordId" 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,projectDetailName,settlementQuantity,
|
||||
settlementRevenue,workTime,settlementTime,
|
||||
promoCodeRequestRecordId,isDelete,createTime,
|
||||
updateTime
|
||||
</sql>
|
||||
</mapper>
|
Loading…
Reference in New Issue
Block a user