create:充值套餐、充值

This commit is contained in:
dzc committed 2025-01-03 18:55:09 +08:00
1 parent 85f27c56c3
commit 7b55aa0f1c
34 files changed
+748 -126

No files matched your search

+54 -1
View File
@@ -295,4 +295,57 @@ CREATE TABLE wallet_code_use
tenant_id bigint DEFAULT NULL COMMENT '租户ID',
PRIMARY KEY (id)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4 COMMENT ='二维码使用表';
DEFAULT CHARSET = utf8mb4 COMMENT ='二维码使用表';
-- ----------------------------
-- Table structure for wallet_recharge_package
-- ----------------------------
DROP TABLE IF EXISTS wallet_recharge_package;
create table wallet_recharge_package
(
id bigint NOT NULL COMMENT '编号',
name varchar(64) NOT NULL COMMENT '套餐名',
pay_price int NOT NULL COMMENT '支付金额',
bonus_price int NOT NULL COMMENT '赠送金额',
status tinyint NOT NULL COMMENT '状态',
create_by varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '创建人',
create_time datetime DEFAULT NULL COMMENT '创建时间',
update_by varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '修改人',
update_time datetime DEFAULT NULL COMMENT '修改时间',
del_flag char(1) COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '删除标记',
tenant_id bigint DEFAULT NULL COMMENT '租户ID',
PRIMARY KEY (id)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4 COMMENT ='充值套餐表';
-- ----------------------------
-- Table structure for wallet_recharge
-- ----------------------------
DROP TABLE IF EXISTS wallet_recharge;
create table wallet_recharge
(
id bigint NOT NULL COMMENT '编号',
wallet_id bigint NOT NULL COMMENT '会员钱包 id',
total_price int NOT NULL COMMENT '用户实际到账余额,例如充 100 送 20,则该值是 120',
pay_price int NOT NULL COMMENT '实际支付金额',
bonus_price int NOT NULL COMMENT '钱包赠送金额',
package_id bigint NULL COMMENT '充值套餐编号',
pay_status bit default b'0' NOT NULL COMMENT '是否已支付:[0:未支付 1:已经支付过]',
pay_order_id bigint NULL COMMENT '支付订单编号',
pay_channel_code varchar(16) NULL COMMENT '支付成功的支付渠道',
pay_time datetime NULL COMMENT '订单支付时间',
pay_refund_id bigint NULL COMMENT '支付退款单编号',
refund_total_price int default 0 NOT NULL COMMENT '退款金额,包含赠送金额',
refund_pay_price int default 0 NOT NULL COMMENT '退款支付金额',
refund_bonus_price int default 0 NOT NULL COMMENT '退款钱包赠送金额',
refund_time datetime NULL COMMENT '退款时间',
refund_status int default 0 NOT NULL COMMENT '退款状态',
create_by varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '创建人',
create_time datetime DEFAULT NULL COMMENT '创建时间',
update_by varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '修改人',
update_time datetime DEFAULT NULL COMMENT '修改时间',
del_flag char(1) COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '删除标记',
tenant_id bigint DEFAULT NULL COMMENT '租户ID',
PRIMARY KEY (id)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4 COMMENT ='会员钱包充值';
@@ -1,9 +0,0 @@
package com.bsd.pjcloud.wallet.api.dto;
import com.bsd.pjcloud.wallet.api.entity.WalletRechargeImportEntity;
import lombok.Data;
@Data
public class WalletRechargeImportDto extends WalletRechargeImportEntity {
}
@@ -1,7 +1,6 @@
package com.bsd.pjcloud.wallet.api.dto;
package com.bsd.pjcloud.wallet.api.dto.recharge;
import com.bsd.pjcloud.admin.api.vo.base.BaseUserInterface;
import com.bsd.pjcloud.wallet.api.entity.WalletRechargeApplyEntity;
import com.bsd.pjcloud.wallet.api.entity.recharge.WalletRechargeApplyEntity;
import lombok.Data;
import java.util.List;
@@ -0,0 +1,14 @@
package com.bsd.pjcloud.wallet.api.dto.recharge;
import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.bsd.pjcloud.wallet.api.entity.recharge.WalletRechargeEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import com.bsd.pjcloud.common.core.util.TenantTable;
import java.time.LocalDateTime;
@Data
public class WalletRechargeDto extends WalletRechargeEntity {
}
@@ -0,0 +1,9 @@
package com.bsd.pjcloud.wallet.api.dto.recharge;
import com.bsd.pjcloud.wallet.api.entity.recharge.WalletRechargeImportEntity;
import lombok.Data;
@Data
public class WalletRechargeImportDto extends WalletRechargeImportEntity {
}
@@ -0,0 +1,9 @@
package com.bsd.pjcloud.wallet.api.dto.recharge;
import com.bsd.pjcloud.wallet.api.entity.recharge.WalletRechargePackageEntity;
import lombok.Data;
@Data
public class WalletRechargePackageDto extends WalletRechargePackageEntity {
}
@@ -1,4 +1,4 @@
package com.bsd.pjcloud.wallet.api.entity;
package com.bsd.pjcloud.wallet.api.entity.recharge;
import cn.hutool.core.date.DatePattern;
import com.baomidou.mybatisplus.annotation.*;
@@ -8,7 +8,6 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import com.bsd.pjcloud.common.core.util.TenantTable;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
@@ -0,0 +1,158 @@
package com.bsd.pjcloud.wallet.api.entity.recharge;
import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import com.bsd.pjcloud.common.core.util.TenantTable;
import java.time.LocalDateTime;
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Data
@TenantTable
@TableName("wallet_recharge")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "会员钱包充值")
public class WalletRechargeEntity extends Model<WalletRechargeEntity> {
/**
* 编号
*/
@TableId(type = IdType.ASSIGN_ID)
@Schema(description = "编号")
private Long id;
/**
* 会员钱包 id
*/
@Schema(description = "会员钱包 id")
private Long walletId;
/**
* 用户实际到账余额,例如充 100 送 20,则该值是 120
*/
@Schema(description = "用户实际到账余额,例如充 100 送 20,则该值是 120")
private Integer totalPrice;
/**
* 实际支付金额
*/
@Schema(description = "实际支付金额")
private Integer payPrice;
/**
* 钱包赠送金额
*/
@Schema(description = "钱包赠送金额")
private Integer bonusPrice;
/**
* 充值套餐编号
*/
@Schema(description = "充值套餐编号")
private Long packageId;
/**
* 是否已支付:[0:未支付 1:已经支付过]
*/
@Schema(description = "是否已支付:[0:未支付 1:已经支付过]")
private Boolean payStatus;
/**
* 支付订单编号
*/
@Schema(description = "支付订单编号")
private Long payOrderId;
/**
* 支付成功的支付渠道
*/
@Schema(description = "支付成功的支付渠道")
private String payChannelCode;
/**
* 订单支付时间
*/
@Schema(description = "订单支付时间")
private LocalDateTime payTime;
/**
* 支付退款单编号
*/
@Schema(description = "支付退款单编号")
private Long payRefundId;
/**
* 退款金额,包含赠送金额
*/
@Schema(description = "退款金额,包含赠送金额")
private Integer refundTotalPrice;
/**
* 退款支付金额
*/
@Schema(description = "退款支付金额")
private Integer refundPayPrice;
/**
* 退款钱包赠送金额
*/
@Schema(description = "退款钱包赠送金额")
private Integer refundBonusPrice;
/**
* 退款时间
*/
@Schema(description = "退款时间")
private LocalDateTime refundTime;
/**
* 退款状态
*/
@Schema(description = "退款状态")
private Integer refundStatus;
/**
* 创建人
*/
@TableField(fill = FieldFill.INSERT)
@Schema(description = "创建人")
private String createBy;
/**
* 创建时间
*/
@TableField(fill = FieldFill.INSERT)
@Schema(description = "创建时间")
private LocalDateTime createTime;
/**
* 修改人
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
@Schema(description = "修改人")
private String updateBy;
/**
* 修改时间
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
@Schema(description = "修改时间")
private LocalDateTime updateTime;
/**
* 删除标记
*/
@TableLogic
@TableField(fill = FieldFill.INSERT)
@Schema(description = "删除标记")
private String delFlag;
/**
* 租户ID
*/
@Schema(description = "租户ID")
private Long tenantId;
}
@@ -1,4 +1,4 @@
package com.bsd.pjcloud.wallet.api.entity;
package com.bsd.pjcloud.wallet.api.entity.recharge;
import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
@@ -0,0 +1,93 @@
package com.bsd.pjcloud.wallet.api.entity.recharge;
import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import com.bsd.pjcloud.common.core.util.TenantTable;
import java.time.LocalDateTime;
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Data
@TenantTable
@TableName("wallet_recharge_package")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "充值套餐表")
public class WalletRechargePackageEntity extends Model<WalletRechargePackageEntity> {
/**
* 编号
*/
@TableId(type = IdType.ASSIGN_ID)
@Schema(description="编号")
private Long id;
/**
* 套餐名
*/
@Schema(description="套餐名")
private String name;
/**
* 支付金额
*/
@Schema(description="支付金额")
private Integer payPrice;
/**
* 赠送金额
*/
@Schema(description="赠送金额")
private Integer bonusPrice;
/**
* 状态
*/
@Schema(description="状态")
private Integer status;
/**
* 创建人
*/
@TableField(fill = FieldFill.INSERT)
@Schema(description="创建人")
private String createBy;
/**
* 创建时间
*/
@TableField(fill = FieldFill.INSERT)
@Schema(description="创建时间")
private LocalDateTime createTime;
/**
* 修改人
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
@Schema(description="修改人")
private String updateBy;
/**
* 修改时间
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
@Schema(description="修改时间")
private LocalDateTime updateTime;
/**
* 删除标记
*/
@TableLogic
@TableField(fill = FieldFill.INSERT)
@Schema(description="删除标记")
private String delFlag;
/**
* 租户ID
*/
@Schema(description="租户ID")
private Long tenantId;
}
@@ -1,9 +0,0 @@
package com.bsd.pjcloud.wallet.api.vo;
import com.bsd.pjcloud.wallet.api.entity.WalletRechargeImportEntity;
import lombok.Data;
@Data
public class WalletRechargeImportVo extends WalletRechargeImportEntity {
}
@@ -1,8 +1,8 @@
package com.bsd.pjcloud.wallet.api.vo;
package com.bsd.pjcloud.wallet.api.vo.recharge;
import com.bsd.pjcloud.admin.api.vo.base.BaseDeptInterface;
import com.bsd.pjcloud.admin.api.vo.base.BaseUserInterface;
import com.bsd.pjcloud.wallet.api.entity.WalletRechargeApplyEntity;
import com.bsd.pjcloud.wallet.api.entity.recharge.WalletRechargeApplyEntity;
import lombok.Data;
@Data
@@ -0,0 +1,9 @@
package com.bsd.pjcloud.wallet.api.vo.recharge;
import com.bsd.pjcloud.wallet.api.entity.recharge.WalletRechargeImportEntity;
import lombok.Data;
@Data
public class WalletRechargeImportVo extends WalletRechargeImportEntity {
}
@@ -0,0 +1,8 @@
package com.bsd.pjcloud.wallet.api.vo.recharge;
import com.bsd.pjcloud.wallet.api.entity.recharge.WalletRechargePackageEntity;
import lombok.Data;
@Data
public class WalletRechargePackageVo extends WalletRechargePackageEntity {
}
@@ -0,0 +1,9 @@
package com.bsd.pjcloud.wallet.api.vo.recharge;
import com.bsd.pjcloud.wallet.api.entity.recharge.WalletRechargeEntity;
import lombok.Data;
@Data
public class WalletRechargeVo extends WalletRechargeEntity {
}
@@ -1,4 +1,4 @@
package com.bsd.pjcloud.wallet.controller;
package com.bsd.pjcloud.wallet.controller.recharge;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.collection.CollUtil;
@@ -8,9 +8,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.bsd.pjcloud.common.core.util.R;
import com.bsd.pjcloud.common.excel.annotation.RequestExcel;
import com.bsd.pjcloud.common.log.annotation.SysLog;
import com.bsd.pjcloud.wallet.api.dto.WalletRechargeApplyDto;
import com.bsd.pjcloud.wallet.api.dto.recharge.WalletRechargeApplyDto;
import com.bsd.pjcloud.wallet.api.dto.excel.WalletRechargeExcelDto;
import com.bsd.pjcloud.wallet.api.entity.WalletRechargeApplyEntity;
import com.bsd.pjcloud.wallet.api.entity.recharge.WalletRechargeApplyEntity;
import com.bsd.pjcloud.wallet.service.WalletRechargeApplyService;
import org.springframework.security.access.prepost.PreAuthorize;
import com.bsd.pjcloud.common.excel.annotation.ResponseExcel;
@@ -22,14 +22,9 @@ import io.swagger.v3.oas.annotations.Operation;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 充值/扣款申请
*
* @author pjcloud
* @date 2024-12-31 14:23:57
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/wallet-recharge-apply")
@@ -39,12 +34,6 @@ public class WalletRechargeApplyController {
private final WalletRechargeApplyService walletRechargeApplyService;
/**
* 提交申请
*
* @return
*/
@Operation(summary = "提交申请", description = "提交申请")
@SysLog("提交申请")
@PostMapping("/apply")
@@ -54,11 +43,6 @@ public class WalletRechargeApplyController {
return R.ok(true);
}
/**
* 取消申请
*
* @return
*/
@Operation(summary = "取消申请", description = "取消申请")
@SysLog("取消申请")
@PostMapping("/cancel-apply")
@@ -68,13 +52,6 @@ public class WalletRechargeApplyController {
return R.ok(true);
}
/**
* 分页查询
*
* @param page 分页对象
* @param walletRechargeApply 充值/扣款申请
* @return
*/
@Operation(summary = "分页查询", description = "分页查询")
@GetMapping("/page")
@PreAuthorize("@pms.hasPermission('wallet_walletRechargeApply_view')")
@@ -83,13 +60,6 @@ public class WalletRechargeApplyController {
return R.ok(walletRechargeApplyService.page(page, wrapper));
}
/**
* 分页查询
*
* @param page 分页对象
* @param dto 充值/扣款申请
* @return
*/
@Operation(summary = "分页复杂查询", description = "分页复杂查询")
@GetMapping("/page-join")
@PreAuthorize("@pms.hasPermission('wallet_walletRechargeApply_view')")
@@ -97,13 +67,6 @@ public class WalletRechargeApplyController {
return R.ok(walletRechargeApplyService.pageJoin(page, dto));
}
/**
* 通过id查询充值/扣款申请
*
* @param id id
* @return R
*/
@Operation(summary = "通过id查询", description = "通过id查询")
@GetMapping("/{id}")
@PreAuthorize("@pms.hasPermission('wallet_walletRechargeApply_view')")
@@ -111,12 +74,6 @@ public class WalletRechargeApplyController {
return R.ok(walletRechargeApplyService.getById(id));
}
/**
* 新增充值/扣款申请
*
* @param dto 充值/扣款申请
* @return R
*/
@Operation(summary = "新增充值/扣款申请", description = "新增充值/扣款申请")
@SysLog("新增充值/扣款申请")
@PostMapping
@@ -126,12 +83,6 @@ public class WalletRechargeApplyController {
return R.ok();
}
/**
* 修改充值/扣款申请
*
* @param walletRechargeApply 充值/扣款申请
* @return R
*/
@Operation(summary = "修改充值/扣款申请", description = "修改充值/扣款申请")
@SysLog("修改充值/扣款申请")
@PutMapping
@@ -140,12 +91,6 @@ public class WalletRechargeApplyController {
return R.ok(walletRechargeApplyService.updateById(walletRechargeApply));
}
/**
* 通过id删除充值/扣款申请
*
* @param ids id列表
* @return R
*/
@Operation(summary = "通过id删除充值/扣款申请", description = "通过id删除充值/扣款申请")
@SysLog("通过id删除充值/扣款申请")
@DeleteMapping
@@ -157,13 +102,6 @@ public class WalletRechargeApplyController {
/* ************************************* start excel start ************************************* */
/**
* 导出excel 表格
*
* @param walletRechargeApply 查询条件
* @param ids 导出指定ID
* @return excel 文件流
*/
@ResponseExcel
@GetMapping("/export")
@PreAuthorize("@pms.hasPermission('wallet_walletRechargeApply_export')")
@@ -171,16 +109,10 @@ public class WalletRechargeApplyController {
return walletRechargeApplyService.list(Wrappers.lambdaQuery(walletRechargeApply).in(ArrayUtil.isNotEmpty(ids), WalletRechargeApplyEntity::getId, ids));
}
/**
* 读取excel内容
* @param excelVOList
* @param bindingResult
* @return
*/
@PostMapping("/read-excel")
public R readExcel(@RequestExcel List<WalletRechargeExcelDto> excelVOList, BindingResult bindingResult) {
return walletRechargeApplyService.readExcel(excelVOList, bindingResult);
return walletRechargeApplyService.readExcel(excelVOList, bindingResult);
}
/* ************************************* start excel start ************************************* */
/* ************************************* start excel start ************************************* */
}
@@ -0,0 +1,92 @@
package com.bsd.pjcloud.wallet.controller.recharge;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.bsd.pjcloud.common.core.util.R;
import com.bsd.pjcloud.common.log.annotation.SysLog;
import com.bsd.pjcloud.wallet.api.dto.recharge.WalletRechargeDto;
import com.bsd.pjcloud.wallet.api.entity.recharge.WalletRechargeEntity;
import com.bsd.pjcloud.wallet.service.WalletRechargeService;
import org.springframework.security.access.prepost.PreAuthorize;
import com.bsd.pjcloud.common.excel.annotation.ResponseExcel;
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import org.springdoc.core.annotations.ParameterObject;
import org.springframework.http.HttpHeaders;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Operation;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 会员钱包充值
*
* @author dzc
* @date 2025-01-03 18:36:02
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/wallet-recharge")
@Tag(description = "wallet-recharge", name = "会员钱包充值管理")
@SecurityRequirement(name = HttpHeaders.AUTHORIZATION)
public class WalletRechargeController {
private final WalletRechargeService walletRechargeService;
@Operation(summary = "分页查询", description = "分页查询")
@GetMapping("/page")
@PreAuthorize("@pms.hasPermission('wallet_walletRecharge_view')")
public R getWalletRechargePage(@ParameterObject Page page, @ParameterObject WalletRechargeDto dto) {
LambdaQueryWrapper<WalletRechargeEntity> wrapper = Wrappers.lambdaQuery();
return R.ok(walletRechargeService.page(page, wrapper));
}
@Operation(summary = "分页查询", description = "分页查询")
@GetMapping("/page-join")
@PreAuthorize("@pms.hasPermission('wallet_walletRecharge_view')")
public R pageJoin(@ParameterObject Page page, @ParameterObject WalletRechargeDto dto) {
return R.ok(walletRechargeService.pageJoin(page, dto));
}
@Operation(summary = "通过id查询", description = "通过id查询")
@GetMapping("/{id}")
@PreAuthorize("@pms.hasPermission('wallet_walletRecharge_view')")
public R getById(@PathVariable("id") Long id) {
return R.ok(walletRechargeService.getById(id));
}
@Operation(summary = "新增会员钱包充值", description = "新增会员钱包充值")
@SysLog("新增会员钱包充值")
@PostMapping
@PreAuthorize("@pms.hasPermission('wallet_walletRecharge_add')")
public R save(@RequestBody WalletRechargeEntity walletRecharge) {
return R.ok(walletRechargeService.save(walletRecharge));
}
@Operation(summary = "修改会员钱包充值", description = "修改会员钱包充值")
@SysLog("修改会员钱包充值")
@PutMapping
@PreAuthorize("@pms.hasPermission('wallet_walletRecharge_edit')")
public R updateById(@RequestBody WalletRechargeEntity walletRecharge) {
return R.ok(walletRechargeService.updateById(walletRecharge));
}
@Operation(summary = "通过id删除会员钱包充值", description = "通过id删除会员钱包充值")
@SysLog("通过id删除会员钱包充值")
@DeleteMapping
@PreAuthorize("@pms.hasPermission('wallet_walletRecharge_del')")
public R removeById(@RequestBody Long[] ids) {
return R.ok(walletRechargeService.removeBatchByIds(CollUtil.toList(ids)));
}
@ResponseExcel
@GetMapping("/export")
@PreAuthorize("@pms.hasPermission('wallet_walletRecharge_export')")
public List<WalletRechargeEntity> export(WalletRechargeEntity walletRecharge, Long[] ids) {
return walletRechargeService.list(Wrappers.lambdaQuery(walletRecharge).in(ArrayUtil.isNotEmpty(ids), WalletRechargeEntity::getId, ids));
}
}
@@ -0,0 +1,92 @@
package com.bsd.pjcloud.wallet.controller.recharge;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.bsd.pjcloud.common.core.util.R;
import com.bsd.pjcloud.common.log.annotation.SysLog;
import com.bsd.pjcloud.wallet.api.dto.recharge.WalletRechargePackageDto;
import com.bsd.pjcloud.wallet.api.entity.recharge.WalletRechargePackageEntity;
import com.bsd.pjcloud.wallet.service.WalletRechargePackageService;
import org.springframework.security.access.prepost.PreAuthorize;
import com.bsd.pjcloud.common.excel.annotation.ResponseExcel;
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import org.springdoc.core.annotations.ParameterObject;
import org.springframework.http.HttpHeaders;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Operation;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 充值套餐表
*
* @author dzc
* @date 2025-01-03 18:33:55
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/wallet-recharge-package")
@Tag(description = "walletRechargePackage", name = "充值套餐表管理")
@SecurityRequirement(name = HttpHeaders.AUTHORIZATION)
public class WalletRechargePackageController {
private final WalletRechargePackageService walletRechargePackageService;
@Operation(summary = "分页查询", description = "分页查询")
@GetMapping("/page")
@PreAuthorize("@pms.hasPermission('wallet_walletRechargePackage_view')")
public R getWalletRechargePackagePage(@ParameterObject Page page, @ParameterObject WalletRechargePackageEntity walletRechargePackage) {
LambdaQueryWrapper<WalletRechargePackageEntity> wrapper = Wrappers.lambdaQuery();
return R.ok(walletRechargePackageService.page(page, wrapper));
}
@Operation(summary = "分页复杂查询", description = "分页复杂查询")
@GetMapping("/page-join")
@PreAuthorize("@pms.hasPermission('wallet_walletRechargePackage_view')")
public R PageJoin(@ParameterObject Page page, @ParameterObject WalletRechargePackageDto dto) {
return R.ok(walletRechargePackageService.pageJoin(page, dto));
}
@Operation(summary = "通过id查询", description = "通过id查询")
@GetMapping("/{id}")
@PreAuthorize("@pms.hasPermission('wallet_walletRechargePackage_view')")
public R getById(@PathVariable("id") Long id) {
return R.ok(walletRechargePackageService.getById(id));
}
@Operation(summary = "新增充值套餐表", description = "新增充值套餐表")
@SysLog("新增充值套餐表")
@PostMapping
@PreAuthorize("@pms.hasPermission('wallet_walletRechargePackage_add')")
public R save(@RequestBody WalletRechargePackageEntity walletRechargePackage) {
return R.ok(walletRechargePackageService.save(walletRechargePackage));
}
@Operation(summary = "修改充值套餐表", description = "修改充值套餐表")
@SysLog("修改充值套餐表")
@PutMapping
@PreAuthorize("@pms.hasPermission('wallet_walletRechargePackage_edit')")
public R updateById(@RequestBody WalletRechargePackageEntity walletRechargePackage) {
return R.ok(walletRechargePackageService.updateById(walletRechargePackage));
}
@Operation(summary = "通过id删除充值套餐表", description = "通过id删除充值套餐表")
@SysLog("通过id删除充值套餐表")
@DeleteMapping
@PreAuthorize("@pms.hasPermission('wallet_walletRechargePackage_del')")
public R removeById(@RequestBody Long[] ids) {
return R.ok(walletRechargePackageService.removeBatchByIds(CollUtil.toList(ids)));
}
@ResponseExcel
@GetMapping("/export")
@PreAuthorize("@pms.hasPermission('wallet_walletRechargePackage_export')")
public List<WalletRechargePackageEntity> export(WalletRechargePackageEntity walletRechargePackage, Long[] ids) {
return walletRechargePackageService.list(Wrappers.lambdaQuery(walletRechargePackage).in(ArrayUtil.isNotEmpty(ids), WalletRechargePackageEntity::getId, ids));
}
}
@@ -1,13 +1,13 @@
package com.bsd.pjcloud.wallet.mapper;
package com.bsd.pjcloud.wallet.mapper.recharge;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.bsd.pjcloud.common.data.datascope.PjcloudBaseMapper;
import com.bsd.pjcloud.wallet.api.dto.WalletRechargeApplyDto;
import com.bsd.pjcloud.wallet.api.dto.recharge.WalletRechargeApplyDto;
import com.bsd.pjcloud.wallet.api.entity.WalletManageEntity;
import com.bsd.pjcloud.wallet.api.entity.WalletRechargeApplyEntity;
import com.bsd.pjcloud.wallet.api.entity.recharge.WalletRechargeApplyEntity;
import com.bsd.pjcloud.wallet.api.entity.WalletTypeEntity;
import com.bsd.pjcloud.wallet.api.vo.WalletRechargeApplyVo;
import com.bsd.pjcloud.wallet.api.vo.recharge.WalletRechargeApplyVo;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.apache.ibatis.annotations.Mapper;
@@ -1,7 +1,7 @@
package com.bsd.pjcloud.wallet.mapper;
package com.bsd.pjcloud.wallet.mapper.recharge;
import com.bsd.pjcloud.common.data.datascope.PjcloudBaseMapper;
import com.bsd.pjcloud.wallet.api.entity.WalletRechargeImportEntity;
import com.bsd.pjcloud.wallet.api.entity.recharge.WalletRechargeImportEntity;
import org.apache.ibatis.annotations.Mapper;
@Mapper
@@ -0,0 +1,19 @@
package com.bsd.pjcloud.wallet.mapper.recharge;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.bsd.pjcloud.common.data.datascope.PjcloudBaseMapper;
import com.bsd.pjcloud.wallet.api.dto.recharge.WalletRechargeDto;
import com.bsd.pjcloud.wallet.api.entity.recharge.WalletRechargeEntity;
import com.bsd.pjcloud.wallet.api.entity.recharge.WalletRechargePackageEntity;
import com.bsd.pjcloud.wallet.api.vo.recharge.WalletRechargeVo;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface WalletRechargeMapper extends PjcloudBaseMapper<WalletRechargeEntity> {
default Page<WalletRechargeVo> pageJoin(Page page, WalletRechargeDto dto) {
MPJLambdaWrapper<WalletRechargeEntity> wrapper = new MPJLambdaWrapper<WalletRechargeEntity>();
return selectJoinPage(page, WalletRechargeVo.class, wrapper);
}
}
@@ -0,0 +1,21 @@
package com.bsd.pjcloud.wallet.mapper.recharge;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.bsd.pjcloud.common.data.datascope.PjcloudBaseMapper;
import com.bsd.pjcloud.wallet.api.dto.recharge.WalletRechargePackageDto;
import com.bsd.pjcloud.wallet.api.entity.recharge.WalletRechargeApplyEntity;
import com.bsd.pjcloud.wallet.api.entity.recharge.WalletRechargePackageEntity;
import com.bsd.pjcloud.wallet.api.vo.recharge.WalletRechargeApplyVo;
import com.bsd.pjcloud.wallet.api.vo.recharge.WalletRechargePackageVo;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface WalletRechargePackageMapper extends PjcloudBaseMapper<WalletRechargePackageEntity> {
default Page<WalletRechargePackageVo> pageJoin(Page page, WalletRechargePackageDto dto) {
MPJLambdaWrapper<WalletRechargePackageEntity> wrapper = new MPJLambdaWrapper<WalletRechargePackageEntity>();
return selectJoinPage(page, WalletRechargePackageEntity.class, wrapper);
}
}
@@ -3,10 +3,10 @@ package com.bsd.pjcloud.wallet.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.bsd.pjcloud.common.core.util.R;
import com.bsd.pjcloud.wallet.api.dto.WalletRechargeApplyDto;
import com.bsd.pjcloud.wallet.api.dto.recharge.WalletRechargeApplyDto;
import com.bsd.pjcloud.wallet.api.dto.excel.WalletRechargeExcelDto;
import com.bsd.pjcloud.wallet.api.entity.WalletRechargeApplyEntity;
import com.bsd.pjcloud.wallet.api.vo.WalletRechargeApplyVo;
import com.bsd.pjcloud.wallet.api.entity.recharge.WalletRechargeApplyEntity;
import com.bsd.pjcloud.wallet.api.vo.recharge.WalletRechargeApplyVo;
import org.springframework.validation.BindingResult;
import java.util.List;
@@ -1,7 +1,7 @@
package com.bsd.pjcloud.wallet.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.bsd.pjcloud.wallet.api.entity.WalletRechargeImportEntity;
import com.bsd.pjcloud.wallet.api.entity.recharge.WalletRechargeImportEntity;
public interface WalletRechargeImportService extends IService<WalletRechargeImportEntity> {
@@ -0,0 +1,12 @@
package com.bsd.pjcloud.wallet.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.bsd.pjcloud.wallet.api.dto.recharge.WalletRechargePackageDto;
import com.bsd.pjcloud.wallet.api.entity.recharge.WalletRechargePackageEntity;
import com.bsd.pjcloud.wallet.api.vo.recharge.WalletRechargePackageVo;
public interface WalletRechargePackageService extends IService<WalletRechargePackageEntity> {
Page<WalletRechargePackageVo> pageJoin(Page page, WalletRechargePackageDto dto);
}
@@ -0,0 +1,13 @@
package com.bsd.pjcloud.wallet.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.bsd.pjcloud.wallet.api.dto.recharge.WalletRechargeDto;
import com.bsd.pjcloud.wallet.api.entity.recharge.WalletRechargeEntity;
import com.bsd.pjcloud.wallet.api.vo.recharge.WalletRechargeVo;
public interface WalletRechargeService extends IService<WalletRechargeEntity> {
Page<WalletRechargeVo> pageJoin(Page page, WalletRechargeDto dto);
}
@@ -1,6 +1,5 @@
package com.bsd.pjcloud.wallet.service.impl;
package com.bsd.pjcloud.wallet.service.impl.recharge;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.lang.Validator;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -19,12 +18,12 @@ import com.bsd.pjcloud.common.core.util.R;
import com.bsd.pjcloud.common.excel.vo.ErrorMessage;
import com.bsd.pjcloud.common.security.service.PjcloudUser;
import com.bsd.pjcloud.common.security.util.SecurityUtils;
import com.bsd.pjcloud.wallet.api.dto.WalletRechargeApplyDto;
import com.bsd.pjcloud.wallet.api.dto.recharge.WalletRechargeApplyDto;
import com.bsd.pjcloud.wallet.api.dto.excel.WalletRechargeExcelDto;
import com.bsd.pjcloud.wallet.api.entity.WalletRechargeApplyEntity;
import com.bsd.pjcloud.wallet.api.entity.WalletRechargeImportEntity;
import com.bsd.pjcloud.wallet.api.vo.WalletRechargeApplyVo;
import com.bsd.pjcloud.wallet.mapper.WalletRechargeApplyMapper;
import com.bsd.pjcloud.wallet.api.entity.recharge.WalletRechargeApplyEntity;
import com.bsd.pjcloud.wallet.api.entity.recharge.WalletRechargeImportEntity;
import com.bsd.pjcloud.wallet.api.vo.recharge.WalletRechargeApplyVo;
import com.bsd.pjcloud.wallet.mapper.recharge.WalletRechargeApplyMapper;
import com.bsd.pjcloud.wallet.service.WalletManageService;
import com.bsd.pjcloud.wallet.service.WalletRechargeApplyService;
import lombok.RequiredArgsConstructor;
@@ -36,7 +35,6 @@ import org.springframework.validation.annotation.Validated;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
/**
* 充值/扣款申请
@@ -1,8 +1,8 @@
package com.bsd.pjcloud.wallet.service.impl;
package com.bsd.pjcloud.wallet.service.impl.recharge;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.bsd.pjcloud.wallet.api.entity.WalletRechargeImportEntity;
import com.bsd.pjcloud.wallet.mapper.WalletRechargeImportMapper;
import com.bsd.pjcloud.wallet.api.entity.recharge.WalletRechargeImportEntity;
import com.bsd.pjcloud.wallet.mapper.recharge.WalletRechargeImportMapper;
import com.bsd.pjcloud.wallet.service.WalletRechargeImportService;
import org.springframework.stereotype.Service;
/**
@@ -0,0 +1,26 @@
package com.bsd.pjcloud.wallet.service.impl.recharge;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.bsd.pjcloud.wallet.api.dto.recharge.WalletRechargePackageDto;
import com.bsd.pjcloud.wallet.api.entity.recharge.WalletRechargePackageEntity;
import com.bsd.pjcloud.wallet.api.vo.recharge.WalletRechargePackageVo;
import com.bsd.pjcloud.wallet.mapper.recharge.WalletRechargePackageMapper;
import com.bsd.pjcloud.wallet.service.WalletRechargePackageService;
import org.springframework.stereotype.Service;
/**
* 充值套餐表
*
* @author dzc
* @date 2025-01-03 18:33:55
*/
@Service
public class WalletRechargePackageServiceImpl extends ServiceImpl<WalletRechargePackageMapper, WalletRechargePackageEntity> implements WalletRechargePackageService {
@Override
public Page<WalletRechargePackageVo> pageJoin(Page page, WalletRechargePackageDto dto) {
return baseMapper.pageJoin(page, dto);
}
}
@@ -0,0 +1,27 @@
package com.bsd.pjcloud.wallet.service.impl.recharge;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.bsd.pjcloud.wallet.api.dto.recharge.WalletRechargeDto;
import com.bsd.pjcloud.wallet.api.entity.recharge.WalletRechargeEntity;
import com.bsd.pjcloud.wallet.api.vo.recharge.WalletRechargeVo;
import com.bsd.pjcloud.wallet.mapper.recharge.WalletRechargeMapper;
import com.bsd.pjcloud.wallet.service.WalletRechargeService;
import org.springframework.stereotype.Service;
/**
* 会员钱包充值
*
* @author dzc
* @date 2025-01-03 18:36:02
*/
@Service
public class WalletRechargeServiceImpl extends ServiceImpl<WalletRechargeMapper, WalletRechargeEntity> implements WalletRechargeService {
@Override
public Page<WalletRechargeVo> pageJoin(Page page, WalletRechargeDto dto) {
return baseMapper.pageJoin(page, dto);
}
}
@@ -1,9 +1,9 @@
<?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.bsd.pjcloud.wallet.mapper.WalletRechargeApplyMapper">
<mapper namespace="com.bsd.pjcloud.wallet.mapper.recharge.WalletRechargeApplyMapper">
<resultMap id="walletRechargeApplyMap" type="com.bsd.pjcloud.wallet.api.entity.WalletRechargeApplyEntity">
<resultMap id="walletRechargeApplyMap" type="com.bsd.pjcloud.wallet.api.entity.recharge.WalletRechargeApplyEntity">
<id property="id" column="id"/>
<result property="userId" column="user_id"/>
<result property="bizType" column="biz_type"/>
@@ -1,8 +1,8 @@
<?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.bsd.pjcloud.wallet.mapper.WalletRechargeImportMapper">
<resultMap id="walletRechargeImportMap" type="com.bsd.pjcloud.wallet.api.entity.WalletRechargeImportEntity">
<mapper namespace="com.bsd.pjcloud.wallet.mapper.recharge.WalletRechargeImportMapper">
<resultMap id="walletRechargeImportMap" type="com.bsd.pjcloud.wallet.api.entity.recharge.WalletRechargeImportEntity">
<id property="id" column="id"/>
<result property="userId" column="user_id"/>
<result property="applyId" column="apply_id"/>
@@ -0,0 +1,29 @@
<?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.bsd.pjcloud.wallet.mapper.recharge.WalletRechargeMapper">
<resultMap id="walletRechargeMap" type="com.bsd.pjcloud.wallet.api.entity.recharge.WalletRechargeEntity">
<id property="id" column="id"/>
<result property="walletId" column="wallet_id"/>
<result property="totalPrice" column="total_price"/>
<result property="payPrice" column="pay_price"/>
<result property="bonusPrice" column="bonus_price"/>
<result property="packageId" column="package_id"/>
<result property="payStatus" column="pay_status"/>
<result property="payOrderId" column="pay_order_id"/>
<result property="payChannelCode" column="pay_channel_code"/>
<result property="payTime" column="pay_time"/>
<result property="payRefundId" column="pay_refund_id"/>
<result property="refundTotalPrice" column="refund_total_price"/>
<result property="refundPayPrice" column="refund_pay_price"/>
<result property="refundBonusPrice" column="refund_bonus_price"/>
<result property="refundTime" column="refund_time"/>
<result property="refundStatus" column="refund_status"/>
<result property="createBy" column="create_by"/>
<result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
<result property="delFlag" column="del_flag"/>
<result property="tenantId" column="tenant_id"/>
</resultMap>
</mapper>
@@ -0,0 +1,19 @@
<?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.bsd.pjcloud.wallet.mapper.recharge.WalletRechargePackageMapper">
<resultMap id="walletRechargePackageMap" type="com.bsd.pjcloud.wallet.api.entity.recharge.WalletRechargePackageEntity">
<id property="id" column="id"/>
<result property="name" column="name"/>
<result property="payPrice" column="pay_price"/>
<result property="bonusPrice" column="bonus_price"/>
<result property="status" column="status"/>
<result property="createBy" column="create_by"/>
<result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
<result property="delFlag" column="del_flag"/>
<result property="tenantId" column="tenant_id"/>
</resultMap>
</mapper>