Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
1e9b646752
27 files changed
+873
-45
No files matched your search
@@ -104,7 +104,11 @@ CREATE TABLE hard_parent_car
|
||||
DEFAULT CHARSET = utf8mb4
|
||||
COLLATE = utf8mb4_general_ci COMMENT ='父订单表';
|
||||
|
||||
CREATE TABLE hardware_order
|
||||
-- ----------------------------
|
||||
-- Table structure for hard_order
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `hard_order`;
|
||||
CREATE TABLE hard_order
|
||||
(
|
||||
id bigint NOT NULL COMMENT '编号',
|
||||
user_id bigint NOT NULL COMMENT '用户id',
|
||||
@@ -140,3 +144,59 @@ CREATE TABLE hardware_order
|
||||
tenant_id bigint DEFAULT NULL COMMENT '租户ID',
|
||||
PRIMARY KEY (id)
|
||||
) ENGINE = InnoDB COMMENT ='订单表';
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for hard_after_sale
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS hard_after_sale;
|
||||
CREATE TABLE hard_after_sale
|
||||
(
|
||||
id bigint NOT NULL COMMENT '售后编号',
|
||||
no varchar(32) NOT NULL COMMENT '售后单号',
|
||||
type char(10) COMMENT '售后类型',
|
||||
status char(10) DEFAULT 0 NOT NULL COMMENT '售后状态',
|
||||
way char(10) NOT NULL COMMENT '售后方式',
|
||||
user_id bigint NOT NULL COMMENT '用户id',
|
||||
apply_reason varchar(255) NOT NULL COMMENT '申请原因',
|
||||
apply_description varchar(255) COMMENT '补充描述',
|
||||
apply_pic_urls varchar(255) COMMENT '补充凭证图片',
|
||||
order_id bigint NOT NULL COMMENT '订单编号',
|
||||
order_no varchar(32) COMMENT '订单流水号',
|
||||
audit_time timestamp DEFAULT CURRENT_TIMESTAMP COMMENT '审批时间',
|
||||
audit_user_id bigint COMMENT '审批人',
|
||||
audit_reason varchar(255) COMMENT '审批备注',
|
||||
refund_price int DEFAULT 0 NOT NULL COMMENT '退款金额,单位:分',
|
||||
pay_refund_id bigint COMMENT '支付退款编号',
|
||||
refund_time timestamp DEFAULT CURRENT_TIMESTAMP COMMENT '退款时间',
|
||||
delivery_time timestamp 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 COMMENT ='售后订单';
|
||||
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for hard_after_sale_log
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS hard_after_sale_log;
|
||||
CREATE TABLE hard_after_sale_log
|
||||
(
|
||||
id bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
|
||||
user_id bigint NOT NULL COMMENT '用户编号',
|
||||
after_sale_id bigint NOT NULL COMMENT '售后编号',
|
||||
before_status char(10) COMMENT '售后状态(之前)',
|
||||
after_status char(10) NOT NULL COMMENT '售后状态(之后)',
|
||||
operate_type char(10) NOT NULL COMMENT '操作类型',
|
||||
content varchar(512) 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 COMMENT ='售后订单日志';
|
||||
+37
-29
@@ -1,5 +1,6 @@
|
||||
package com.bsd.pjcloud.canteen.controller;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.core.util.ArrayUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
@@ -38,52 +39,55 @@ import java.util.List;
|
||||
*/
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
@RequestMapping("/boxesInfo" )
|
||||
@Tag(description = "boxesInfo" , name = "包厢信息管理" )
|
||||
@RequestMapping("/boxesInfo")
|
||||
@Tag(description = "boxesInfo", name = "包厢信息管理")
|
||||
@SecurityRequirement(name = HttpHeaders.AUTHORIZATION)
|
||||
public class BoxesInfoController {
|
||||
|
||||
private final BoxesInfoService boxesInfoService;
|
||||
private final BoxesInfoService boxesInfoService;
|
||||
|
||||
private final BoxesBookingService bookingService;
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
* @param page 分页对象
|
||||
*
|
||||
* @param page 分页对象
|
||||
* @param boxesInfo 包厢信息
|
||||
* @return
|
||||
*/
|
||||
@Operation(summary = "分页查询" , description = "分页查询" )
|
||||
@GetMapping("/page" )
|
||||
@PreAuthorize("@pms.hasPermission('canteen_boxesInfo_view')" )
|
||||
@Operation(summary = "分页查询", description = "分页查询")
|
||||
@GetMapping("/page")
|
||||
@PreAuthorize("@pms.hasPermission('canteen_boxesInfo_view')")
|
||||
public R getBoxesInfoPage(@ParameterObject Page page, @ParameterObject BoxesInfoEntity boxesInfo) {
|
||||
LambdaQueryWrapper<BoxesInfoEntity> wrapper = Wrappers.lambdaQuery();
|
||||
wrapper.eq(StrUtil.isNotBlank(boxesInfo.getName()),BoxesInfoEntity::getName,boxesInfo.getName());
|
||||
wrapper.eq(StrUtil.isNotBlank(boxesInfo.getName()), BoxesInfoEntity::getName, boxesInfo.getName());
|
||||
return R.ok(boxesInfoService.pageScope(page, wrapper));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 通过id查询包厢信息
|
||||
*
|
||||
* @param id id
|
||||
* @return R
|
||||
*/
|
||||
@Operation(summary = "通过id查询" , description = "通过id查询" )
|
||||
@GetMapping("/{id}" )
|
||||
@PreAuthorize("@pms.hasPermission('canteen_boxesInfo_view')" )
|
||||
public R getById(@PathVariable("id" ) Long id) {
|
||||
@Operation(summary = "通过id查询", description = "通过id查询")
|
||||
@GetMapping("/{id}")
|
||||
@PreAuthorize("@pms.hasPermission('canteen_boxesInfo_view')")
|
||||
public R getById(@PathVariable("id") Long id) {
|
||||
return R.ok(boxesInfoService.getById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增包厢信息
|
||||
*
|
||||
* @param boxesInfo 包厢信息
|
||||
* @return R
|
||||
*/
|
||||
@Operation(summary = "新增包厢信息" , description = "新增包厢信息" )
|
||||
@SysLog("新增包厢信息" )
|
||||
@Operation(summary = "新增包厢信息", description = "新增包厢信息")
|
||||
@SysLog("新增包厢信息")
|
||||
@PostMapping
|
||||
@PreAuthorize("@pms.hasPermission('canteen_boxesInfo_add')" )
|
||||
@PreAuthorize("@pms.hasPermission('canteen_boxesInfo_add')")
|
||||
public R save(@RequestBody BoxesInfoEntity boxesInfo) {
|
||||
boxesInfo.setDeptId(SecurityUtils.getUser().getDeptId());
|
||||
return R.ok(boxesInfoService.saveInfo(boxesInfo));
|
||||
@@ -91,26 +95,28 @@ public class BoxesInfoController {
|
||||
|
||||
/**
|
||||
* 修改包厢信息
|
||||
*
|
||||
* @param boxesInfo 包厢信息
|
||||
* @return R
|
||||
*/
|
||||
@Operation(summary = "修改包厢信息" , description = "修改包厢信息" )
|
||||
@SysLog("修改包厢信息" )
|
||||
@Operation(summary = "修改包厢信息", description = "修改包厢信息")
|
||||
@SysLog("修改包厢信息")
|
||||
@PutMapping
|
||||
@PreAuthorize("@pms.hasPermission('canteen_boxesInfo_edit')" )
|
||||
@PreAuthorize("@pms.hasPermission('canteen_boxesInfo_edit')")
|
||||
public R updateById(@RequestBody BoxesInfoEntity boxesInfo) {
|
||||
return R.ok(boxesInfoService.updateById(boxesInfo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除包厢信息
|
||||
*
|
||||
* @param ids id列表
|
||||
* @return R
|
||||
*/
|
||||
@Operation(summary = "通过id删除包厢信息" , description = "通过id删除包厢信息" )
|
||||
@SysLog("通过id删除包厢信息" )
|
||||
@Operation(summary = "通过id删除包厢信息", description = "通过id删除包厢信息")
|
||||
@SysLog("通过id删除包厢信息")
|
||||
@DeleteMapping
|
||||
@PreAuthorize("@pms.hasPermission('canteen_boxesInfo_del')" )
|
||||
@PreAuthorize("@pms.hasPermission('canteen_boxesInfo_del')")
|
||||
public R removeById(@RequestBody Long[] ids) {
|
||||
return R.ok(boxesInfoService.removeBatchByIds(CollUtil.toList(ids)));
|
||||
}
|
||||
@@ -118,26 +124,27 @@ public class BoxesInfoController {
|
||||
|
||||
/**
|
||||
* 导出excel 表格
|
||||
*
|
||||
* @param boxesInfo 查询条件
|
||||
* @param ids 导出指定ID
|
||||
* @param ids 导出指定ID
|
||||
* @return excel 文件流
|
||||
*/
|
||||
@ResponseExcel
|
||||
@GetMapping("/export")
|
||||
@PreAuthorize("@pms.hasPermission('canteen_boxesInfo_export')" )
|
||||
public List<BoxesInfoEntity> export(BoxesInfoEntity boxesInfo,Long[] ids) {
|
||||
@PreAuthorize("@pms.hasPermission('canteen_boxesInfo_export')")
|
||||
public List<BoxesInfoEntity> export(BoxesInfoEntity boxesInfo, Long[] ids) {
|
||||
return boxesInfoService.list(Wrappers.lambdaQuery(boxesInfo).in(ArrayUtil.isNotEmpty(ids), BoxesInfoEntity::getId, ids));
|
||||
}
|
||||
|
||||
|
||||
// --------------------移动端接口---------------------------
|
||||
// --------------------移动端接口---------------------------
|
||||
@GetMapping("/getInfo")
|
||||
@Operation(summary = "获得包厢固定的基础信息")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
public R<AppBXInfoRespVO> getInfo(@RequestParam("id") Long id) {
|
||||
BoxesInfoEntity byId = boxesInfoService.getById(id);
|
||||
AppBXInfoRespVO appBXInfoRespVO = new AppBXInfoRespVO();
|
||||
BeanUtils.copyProperties(byId,appBXInfoRespVO);
|
||||
BeanUtils.copyProperties(byId, appBXInfoRespVO);
|
||||
return R.ok(appBXInfoRespVO);
|
||||
}
|
||||
|
||||
@@ -152,12 +159,13 @@ public class BoxesInfoController {
|
||||
|
||||
@GetMapping("/appPage")
|
||||
@Operation(summary = "获得包厢信息分页")
|
||||
public R getInfoPage(@ParameterObject Page page,@ParameterObject BoxesInfoEntity boxesInfo) {
|
||||
public R getInfoPage(@ParameterObject Page page, @ParameterObject BoxesInfoEntity boxesInfo) {
|
||||
LambdaQueryWrapper<BoxesInfoEntity> wrapper = Wrappers.lambdaQuery();
|
||||
wrapper.eq(StrUtil.isNotBlank(boxesInfo.getName()),BoxesInfoEntity::getName,boxesInfo.getName());
|
||||
wrapper.eq(StrUtil.isNotBlank(boxesInfo.getName()), BoxesInfoEntity::getName, boxesInfo.getName());
|
||||
wrapper.eq(ObjectUtil.isNotEmpty(boxesInfo.getStatus()), BoxesInfoEntity::getStatus, boxesInfo.getStatus());
|
||||
Page pageResult = boxesInfo.selectPage(page, wrapper);
|
||||
List<AppBoxesInfoVO> appInfoRespVOS = new ArrayList<>();
|
||||
pageResult.getRecords().forEach(x->{
|
||||
pageResult.getRecords().forEach(x -> {
|
||||
AppBoxesInfoVO appBoxesInfoVO = com.bsd.pjcloud.common.core.util.BeanUtils.toBean(x, AppBoxesInfoVO.class);
|
||||
appInfoRespVOS.add(appBoxesInfoVO);
|
||||
});
|
||||
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
package com.bsd.pjcloud.hard.api.dto.order;
|
||||
|
||||
import com.bsd.pjcloud.hard.api.entity.order.HardAfterSaleEntity;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class HardAfterSaleDto extends HardAfterSaleEntity {
|
||||
}
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
package com.bsd.pjcloud.hard.api.dto.order;
|
||||
|
||||
import com.bsd.pjcloud.hard.api.entity.order.HardAfterSaleLogEntity;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class HardAfterSaleLogDto extends HardAfterSaleLogEntity {
|
||||
}
|
||||
+174
@@ -0,0 +1,174 @@
|
||||
package com.bsd.pjcloud.hard.api.entity.order;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.baomidou.mybatisplus.extension.activerecord.Model;
|
||||
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;
|
||||
|
||||
/**
|
||||
* 售后订单
|
||||
*
|
||||
* @author dzc
|
||||
* @date 2025-01-07 17:23:08
|
||||
*/
|
||||
@Data
|
||||
@TenantTable
|
||||
@TableName("hard_after_sale")
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Schema(description = "售后订单")
|
||||
public class HardAfterSaleEntity extends Model<HardAfterSaleEntity> {
|
||||
|
||||
/**
|
||||
* 售后编号
|
||||
*/
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
@Schema(description="售后编号")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 售后单号
|
||||
*/
|
||||
@Schema(description="售后单号")
|
||||
private String no;
|
||||
|
||||
/**
|
||||
* 售后类型
|
||||
*/
|
||||
@Schema(description="售后类型")
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 售后状态
|
||||
*/
|
||||
@Schema(description="售后状态")
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 售后方式
|
||||
*/
|
||||
@Schema(description="售后方式")
|
||||
private String way;
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
@Schema(description="用户id")
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 申请原因
|
||||
*/
|
||||
@Schema(description="申请原因")
|
||||
private String applyReason;
|
||||
|
||||
/**
|
||||
* 补充描述
|
||||
*/
|
||||
@Schema(description="补充描述")
|
||||
private String applyDescription;
|
||||
|
||||
/**
|
||||
* 补充凭证图片
|
||||
*/
|
||||
@Schema(description="补充凭证图片")
|
||||
private String applyPicUrls;
|
||||
|
||||
/**
|
||||
* 订单编号
|
||||
*/
|
||||
@Schema(description="订单编号")
|
||||
private Long orderId;
|
||||
|
||||
/**
|
||||
* 订单流水号
|
||||
*/
|
||||
@Schema(description="订单流水号")
|
||||
private String orderNo;
|
||||
|
||||
/**
|
||||
* 审批时间
|
||||
*/
|
||||
@Schema(description="审批时间")
|
||||
private LocalDateTime auditTime;
|
||||
|
||||
/**
|
||||
* 审批人
|
||||
*/
|
||||
@Schema(description="审批人")
|
||||
private Long auditUserId;
|
||||
|
||||
/**
|
||||
* 审批备注
|
||||
*/
|
||||
@Schema(description="审批备注")
|
||||
private String auditReason;
|
||||
|
||||
/**
|
||||
* 退款金额,单位:分
|
||||
*/
|
||||
@Schema(description="退款金额,单位:分")
|
||||
private Integer refundPrice;
|
||||
|
||||
/**
|
||||
* 支付退款编号
|
||||
*/
|
||||
@Schema(description="支付退款编号")
|
||||
private Long payRefundId;
|
||||
|
||||
/**
|
||||
* 退款时间
|
||||
*/
|
||||
@Schema(description="退款时间")
|
||||
private LocalDateTime refundTime;
|
||||
|
||||
/**
|
||||
* 退货时间
|
||||
*/
|
||||
@Schema(description="退货时间")
|
||||
private LocalDateTime deliveryTime;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
@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;
|
||||
}
|
||||
+109
@@ -0,0 +1,109 @@
|
||||
package com.bsd.pjcloud.hard.api.entity.order;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.baomidou.mybatisplus.extension.activerecord.Model;
|
||||
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;
|
||||
|
||||
/**
|
||||
* 售后订单日志
|
||||
*
|
||||
* @author dzc
|
||||
* @date 2025-01-07 17:23:25
|
||||
*/
|
||||
@Data
|
||||
@TenantTable
|
||||
@TableName("hard_after_sale_log")
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Schema(description = "售后订单日志")
|
||||
public class HardAfterSaleLogEntity extends Model<HardAfterSaleLogEntity> {
|
||||
|
||||
|
||||
/**
|
||||
* 编号
|
||||
*/
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
@Schema(description="编号")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 用户编号
|
||||
*/
|
||||
@Schema(description="用户编号")
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 售后编号
|
||||
*/
|
||||
@Schema(description="售后编号")
|
||||
private Long afterSaleId;
|
||||
|
||||
/**
|
||||
* 售后状态(之前)
|
||||
*/
|
||||
@Schema(description="售后状态(之前)")
|
||||
private String beforeStatus;
|
||||
|
||||
/**
|
||||
* 售后状态(之后)
|
||||
*/
|
||||
@Schema(description="售后状态(之后)")
|
||||
private String afterStatus;
|
||||
|
||||
/**
|
||||
* 操作类型
|
||||
*/
|
||||
@Schema(description="操作类型")
|
||||
private String operateType;
|
||||
|
||||
/**
|
||||
* 操作明细
|
||||
*/
|
||||
@Schema(description="操作明细")
|
||||
private String content;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
@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
-1
@@ -18,7 +18,7 @@ import java.time.LocalDateTime;
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
@TenantTable
|
||||
@TableName("hardware_order")
|
||||
@TableName("hard_order")
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Schema(description = "订单表")
|
||||
public class HardOrderEntity extends Model<HardOrderEntity> {
|
||||
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
package com.bsd.pjcloud.hard.api.vo.order;
|
||||
|
||||
import com.bsd.pjcloud.hard.api.entity.order.HardAfterSaleLogEntity;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class HardAfterSaleLogVo extends HardAfterSaleLogEntity {
|
||||
}
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
package com.bsd.pjcloud.hard.api.vo.order;
|
||||
|
||||
import com.bsd.pjcloud.hard.api.entity.order.HardAfterSaleEntity;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class HardAfterSaleVo extends HardAfterSaleEntity {
|
||||
}
|
||||
+93
@@ -0,0 +1,93 @@
|
||||
package com.bsd.pjcloud.hard.controller.order;
|
||||
|
||||
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.hard.api.dto.order.HardAfterSaleDto;
|
||||
import com.bsd.pjcloud.hard.api.entity.order.HardAfterSaleEntity;
|
||||
import com.bsd.pjcloud.hard.service.HardAfterSaleService;
|
||||
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;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* 售后订单
|
||||
*
|
||||
* @author dzc
|
||||
* @date 2025-01-07 17:23:08
|
||||
*/
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
@RequestMapping("/hard-after-sale" )
|
||||
@Tag(description = "hard-after-sale" , name = "售后订单管理" )
|
||||
@SecurityRequirement(name = HttpHeaders.AUTHORIZATION)
|
||||
public class HardAfterSaleController {
|
||||
|
||||
private final HardAfterSaleService hardAfterSaleService;
|
||||
|
||||
@Operation(summary = "分页查询" , description = "分页查询" )
|
||||
@GetMapping("/page" )
|
||||
@PreAuthorize("@pms.hasPermission('hard_hardAfterSale_view')" )
|
||||
public R getHardAfterSalePage(@ParameterObject Page page, @ParameterObject HardAfterSaleEntity hardAfterSale) {
|
||||
LambdaQueryWrapper<HardAfterSaleEntity> wrapper = Wrappers.lambdaQuery();
|
||||
return R.ok(hardAfterSaleService.page(page, wrapper));
|
||||
}
|
||||
|
||||
@Operation(summary = "分页复杂查询" , description = "分页复杂查询" )
|
||||
@GetMapping("/page-join" )
|
||||
@PreAuthorize("@pms.hasPermission('hard_hardAfterSale_view')" )
|
||||
public R pageJoin(@ParameterObject Page page, @ParameterObject HardAfterSaleDto dto) {
|
||||
return R.ok(hardAfterSaleService.pageJoin(page, dto));
|
||||
}
|
||||
|
||||
@Operation(summary = "通过id查询" , description = "通过id查询" )
|
||||
@GetMapping("/{id}" )
|
||||
@PreAuthorize("@pms.hasPermission('hard_hardAfterSale_view')" )
|
||||
public R getById(@PathVariable("id" ) Long id) {
|
||||
return R.ok(hardAfterSaleService.getById(id));
|
||||
}
|
||||
|
||||
@Operation(summary = "新增售后订单" , description = "新增售后订单" )
|
||||
@SysLog("新增售后订单" )
|
||||
@PostMapping
|
||||
@PreAuthorize("@pms.hasPermission('hard_hardAfterSale_add')" )
|
||||
public R save(@RequestBody HardAfterSaleEntity hardAfterSale) {
|
||||
return R.ok(hardAfterSaleService.save(hardAfterSale));
|
||||
}
|
||||
|
||||
@Operation(summary = "修改售后订单" , description = "修改售后订单" )
|
||||
@SysLog("修改售后订单" )
|
||||
@PutMapping
|
||||
@PreAuthorize("@pms.hasPermission('hard_hardAfterSale_edit')" )
|
||||
public R updateById(@RequestBody HardAfterSaleEntity hardAfterSale) {
|
||||
return R.ok(hardAfterSaleService.updateById(hardAfterSale));
|
||||
}
|
||||
|
||||
@Operation(summary = "通过id删除售后订单" , description = "通过id删除售后订单" )
|
||||
@SysLog("通过id删除售后订单" )
|
||||
@DeleteMapping
|
||||
@PreAuthorize("@pms.hasPermission('hard_hardAfterSale_del')" )
|
||||
public R removeById(@RequestBody Long[] ids) {
|
||||
return R.ok(hardAfterSaleService.removeBatchByIds(CollUtil.toList(ids)));
|
||||
}
|
||||
|
||||
@ResponseExcel
|
||||
@GetMapping("/export")
|
||||
@PreAuthorize("@pms.hasPermission('hard_hardAfterSale_export')" )
|
||||
public List<HardAfterSaleEntity> export(HardAfterSaleEntity hardAfterSale,Long[] ids) {
|
||||
return hardAfterSaleService.list(Wrappers.lambdaQuery(hardAfterSale).in(ArrayUtil.isNotEmpty(ids), HardAfterSaleEntity::getId, ids));
|
||||
}
|
||||
}
|
||||
+92
@@ -0,0 +1,92 @@
|
||||
package com.bsd.pjcloud.hard.controller.order;
|
||||
|
||||
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.hard.api.dto.order.HardAfterSaleLogDto;
|
||||
import com.bsd.pjcloud.hard.api.entity.order.HardAfterSaleLogEntity;
|
||||
import com.bsd.pjcloud.hard.service.HardAfterSaleLogService;
|
||||
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-07 17:23:25
|
||||
*/
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
@RequestMapping("/hard-after-sale-log")
|
||||
@Tag(description = "hard-after-sale-log", name = "售后订单日志管理")
|
||||
@SecurityRequirement(name = HttpHeaders.AUTHORIZATION)
|
||||
public class HardAfterSaleLogController {
|
||||
|
||||
private final HardAfterSaleLogService hardAfterSaleLogService;
|
||||
|
||||
@Operation(summary = "分页查询", description = "分页查询")
|
||||
@GetMapping("/page")
|
||||
@PreAuthorize("@pms.hasPermission('hard_hardAfterSaleLog_view')")
|
||||
public R getHardAfterSaleLogPage(@ParameterObject Page page, @ParameterObject HardAfterSaleLogEntity dto) {
|
||||
LambdaQueryWrapper<HardAfterSaleLogEntity> wrapper = Wrappers.lambdaQuery();
|
||||
return R.ok(hardAfterSaleLogService.page(page, wrapper));
|
||||
}
|
||||
|
||||
@Operation(summary = "分页复杂查询", description = "分页复杂查询")
|
||||
@GetMapping("/page-join")
|
||||
@PreAuthorize("@pms.hasPermission('hard_hardAfterSaleLog_view')")
|
||||
public R pageJoin(@ParameterObject Page page, @ParameterObject HardAfterSaleLogDto dto) {
|
||||
return R.ok(hardAfterSaleLogService.pageJoin(page, dto));
|
||||
}
|
||||
|
||||
@Operation(summary = "通过id查询", description = "通过id查询")
|
||||
@GetMapping("/{id}")
|
||||
@PreAuthorize("@pms.hasPermission('hard_hardAfterSaleLog_view')")
|
||||
public R getById(@PathVariable("id") Long id) {
|
||||
return R.ok(hardAfterSaleLogService.getById(id));
|
||||
}
|
||||
|
||||
@Operation(summary = "新增售后订单日志", description = "新增售后订单日志")
|
||||
@SysLog("新增售后订单日志")
|
||||
@PostMapping
|
||||
@PreAuthorize("@pms.hasPermission('hard_hardAfterSaleLog_add')")
|
||||
public R save(@RequestBody HardAfterSaleLogEntity hardAfterSaleLog) {
|
||||
return R.ok(hardAfterSaleLogService.save(hardAfterSaleLog));
|
||||
}
|
||||
|
||||
@Operation(summary = "修改售后订单日志", description = "修改售后订单日志")
|
||||
@SysLog("修改售后订单日志")
|
||||
@PutMapping
|
||||
@PreAuthorize("@pms.hasPermission('hard_hardAfterSaleLog_edit')")
|
||||
public R updateById(@RequestBody HardAfterSaleLogEntity hardAfterSaleLog) {
|
||||
return R.ok(hardAfterSaleLogService.updateById(hardAfterSaleLog));
|
||||
}
|
||||
|
||||
@Operation(summary = "通过id删除售后订单日志", description = "通过id删除售后订单日志")
|
||||
@SysLog("通过id删除售后订单日志")
|
||||
@DeleteMapping
|
||||
@PreAuthorize("@pms.hasPermission('hard_hardAfterSaleLog_del')")
|
||||
public R removeById(@RequestBody Long[] ids) {
|
||||
return R.ok(hardAfterSaleLogService.removeBatchByIds(CollUtil.toList(ids)));
|
||||
}
|
||||
|
||||
@ResponseExcel
|
||||
@GetMapping("/export")
|
||||
@PreAuthorize("@pms.hasPermission('hard_hardAfterSaleLog_export')")
|
||||
public List<HardAfterSaleLogEntity> export(HardAfterSaleLogEntity hardAfterSaleLog, Long[] ids) {
|
||||
return hardAfterSaleLogService.list(Wrappers.lambdaQuery(hardAfterSaleLog).in(ArrayUtil.isNotEmpty(ids), HardAfterSaleLogEntity::getId, ids));
|
||||
}
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
package com.bsd.pjcloud.hard.mapper.order;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.bsd.pjcloud.common.data.datascope.PjcloudBaseMapper;
|
||||
import com.bsd.pjcloud.hard.api.dto.order.HardAfterSaleLogDto;
|
||||
import com.bsd.pjcloud.hard.api.entity.order.HardAfterSaleLogEntity;
|
||||
import com.bsd.pjcloud.hard.api.vo.order.HardAfterSaleLogVo;
|
||||
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@Mapper
|
||||
public interface HardAfterSaleLogMapper extends PjcloudBaseMapper<HardAfterSaleLogEntity> {
|
||||
|
||||
default Page<HardAfterSaleLogVo> pageJoin(Page page, HardAfterSaleLogDto dto) {
|
||||
MPJLambdaWrapper<HardAfterSaleLogEntity> wrapper = new MPJLambdaWrapper<HardAfterSaleLogEntity>()
|
||||
.selectAll(HardAfterSaleLogEntity.class);
|
||||
return selectJoinPage(page, HardAfterSaleLogVo.class, wrapper);
|
||||
}
|
||||
}
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
package com.bsd.pjcloud.hard.mapper.order;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.bsd.pjcloud.common.data.datascope.PjcloudBaseMapper;
|
||||
import com.bsd.pjcloud.hard.api.dto.order.HardAfterSaleDto;
|
||||
import com.bsd.pjcloud.hard.api.entity.order.HardAfterSaleEntity;
|
||||
import com.bsd.pjcloud.hard.api.vo.order.HardAfterSaleVo;
|
||||
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@Mapper
|
||||
public interface HardAfterSaleMapper extends PjcloudBaseMapper<HardAfterSaleEntity> {
|
||||
|
||||
|
||||
default Page<HardAfterSaleVo> pageJoin(Page page, HardAfterSaleDto dto){
|
||||
MPJLambdaWrapper<HardAfterSaleEntity> wrapper = new MPJLambdaWrapper<HardAfterSaleEntity>()
|
||||
.selectAll(HardAfterSaleEntity.class);
|
||||
return selectJoinPage(page, HardAfterSaleVo.class, wrapper);
|
||||
}
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
package com.bsd.pjcloud.hard.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.bsd.pjcloud.hard.api.dto.order.HardAfterSaleLogDto;
|
||||
import com.bsd.pjcloud.hard.api.entity.order.HardAfterSaleLogEntity;
|
||||
import com.bsd.pjcloud.hard.api.vo.order.HardAfterSaleLogVo;
|
||||
|
||||
public interface HardAfterSaleLogService extends IService<HardAfterSaleLogEntity> {
|
||||
|
||||
Page<HardAfterSaleLogVo> pageJoin(Page page, HardAfterSaleLogDto dto);
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
package com.bsd.pjcloud.hard.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.bsd.pjcloud.hard.api.dto.order.HardAfterSaleDto;
|
||||
import com.bsd.pjcloud.hard.api.entity.order.HardAfterSaleEntity;
|
||||
import com.bsd.pjcloud.hard.api.vo.order.HardAfterSaleVo;
|
||||
|
||||
public interface HardAfterSaleService extends IService<HardAfterSaleEntity> {
|
||||
|
||||
Page<HardAfterSaleVo> pageJoin(Page page, HardAfterSaleDto dto);
|
||||
}
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
package com.bsd.pjcloud.hard.service.impl.order;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.bsd.pjcloud.hard.api.dto.order.HardAfterSaleLogDto;
|
||||
import com.bsd.pjcloud.hard.api.entity.order.HardAfterSaleLogEntity;
|
||||
import com.bsd.pjcloud.hard.api.vo.order.HardAfterSaleLogVo;
|
||||
import com.bsd.pjcloud.hard.mapper.order.HardAfterSaleLogMapper;
|
||||
import com.bsd.pjcloud.hard.service.HardAfterSaleLogService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* 售后订单日志
|
||||
*
|
||||
* @author dzc
|
||||
* @date 2025-01-07 17:23:25
|
||||
*/
|
||||
@Service
|
||||
public class HardAfterSaleLogServiceImpl extends ServiceImpl<HardAfterSaleLogMapper, HardAfterSaleLogEntity> implements HardAfterSaleLogService {
|
||||
|
||||
@Override
|
||||
public Page<HardAfterSaleLogVo> pageJoin(Page page, HardAfterSaleLogDto dto) {
|
||||
return baseMapper.pageJoin(page, dto);
|
||||
}
|
||||
}
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
package com.bsd.pjcloud.hard.service.impl.order;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.bsd.pjcloud.hard.api.dto.order.HardAfterSaleDto;
|
||||
import com.bsd.pjcloud.hard.api.entity.order.HardAfterSaleEntity;
|
||||
import com.bsd.pjcloud.hard.api.vo.order.HardAfterSaleVo;
|
||||
import com.bsd.pjcloud.hard.mapper.order.HardAfterSaleMapper;
|
||||
import com.bsd.pjcloud.hard.service.HardAfterSaleService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* 售后订单
|
||||
*
|
||||
* @author dzc
|
||||
* @date 2025-01-07 17:23:08
|
||||
*/
|
||||
@Service
|
||||
public class HardAfterSaleServiceImpl extends ServiceImpl<HardAfterSaleMapper, HardAfterSaleEntity> implements HardAfterSaleService {
|
||||
|
||||
@Override
|
||||
public Page<HardAfterSaleVo> pageJoin(Page page, HardAfterSaleDto dto) {
|
||||
return baseMapper.pageJoin(page, dto);
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
server:
|
||||
port: 6060
|
||||
port: 6080
|
||||
|
||||
spring:
|
||||
application:
|
||||
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
<?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.hard.mapper.order.HardAfterSaleLogMapper">
|
||||
|
||||
<resultMap id="hardAfterSaleLogMap" type="com.bsd.pjcloud.hard.api.entity.order.HardAfterSaleLogEntity">
|
||||
<id property="id" column="id"/>
|
||||
<result property="userId" column="user_id"/>
|
||||
<result property="afterSaleId" column="after_sale_id"/>
|
||||
<result property="beforeStatus" column="before_status"/>
|
||||
<result property="afterStatus" column="after_status"/>
|
||||
<result property="operateType" column="operate_type"/>
|
||||
<result property="content" column="content"/>
|
||||
<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>
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
<?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.hard.mapper.order.HardAfterSaleMapper">
|
||||
|
||||
<resultMap id="hardAfterSaleMap" type="com.bsd.pjcloud.hard.api.entity.order.HardAfterSaleEntity">
|
||||
<id property="id" column="id"/>
|
||||
<result property="no" column="no"/>
|
||||
<result property="type" column="type"/>
|
||||
<result property="status" column="status"/>
|
||||
<result property="way" column="way"/>
|
||||
<result property="userId" column="user_id"/>
|
||||
<result property="applyReason" column="apply_reason"/>
|
||||
<result property="applyDescription" column="apply_description"/>
|
||||
<result property="applyPicUrls" column="apply_pic_urls"/>
|
||||
<result property="orderId" column="order_id"/>
|
||||
<result property="orderNo" column="order_no"/>
|
||||
<result property="auditTime" column="audit_time"/>
|
||||
<result property="auditUserId" column="audit_user_id"/>
|
||||
<result property="auditReason" column="audit_reason"/>
|
||||
<result property="refundPrice" column="refund_price"/>
|
||||
<result property="payRefundId" column="pay_refund_id"/>
|
||||
<result property="refundTime" column="refund_time"/>
|
||||
<result property="deliveryTime" column="delivery_time"/>
|
||||
<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>
|
||||
+1
@@ -13,6 +13,7 @@ public enum WalletBizEnum {
|
||||
BATCH("2", "批量更新余额"),
|
||||
RECHARGE("3", "充值"),
|
||||
PAYMENT("4", "支付"),
|
||||
REFUND("5", "退款"),
|
||||
;
|
||||
private final String code;
|
||||
|
||||
|
||||
+8
@@ -4,6 +4,8 @@ import com.bsd.pjcloud.wallet.api.entity.WalletTransactionEntity;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class WalletTransactionDto extends WalletTransactionEntity {
|
||||
|
||||
@@ -24,4 +26,10 @@ public class WalletTransactionDto extends WalletTransactionEntity {
|
||||
*/
|
||||
private Long userId;
|
||||
|
||||
private List<Long> userIds;
|
||||
|
||||
private Long walletTypeId;
|
||||
|
||||
private List<String> bizTypes;
|
||||
|
||||
}
|
||||
+31
-1
@@ -1,8 +1,38 @@
|
||||
package com.bsd.pjcloud.wallet.api.vo;
|
||||
|
||||
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.WalletTransactionEntity;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class WalletTransactionVo extends WalletTransactionEntity {
|
||||
public class WalletTransactionVo extends WalletTransactionEntity implements BaseUserInterface, BaseDeptInterface {
|
||||
|
||||
/**
|
||||
* 用户相关
|
||||
*/
|
||||
|
||||
private Long userId;
|
||||
|
||||
private String username;
|
||||
|
||||
private String userMobile;
|
||||
|
||||
private String userAvatar;
|
||||
|
||||
/**
|
||||
* 部门相关
|
||||
*/
|
||||
|
||||
private Long deptId;
|
||||
|
||||
private String deptName;
|
||||
|
||||
/**
|
||||
* 钱包类型相关
|
||||
*/
|
||||
private String walletTypeName;
|
||||
|
||||
private String walletTypeUniqueCode;
|
||||
|
||||
}
|
||||
+20
-6
@@ -11,6 +11,7 @@ import com.bsd.pjcloud.common.log.annotation.SysLog;
|
||||
import com.bsd.pjcloud.common.security.annotation.Inner;
|
||||
import com.bsd.pjcloud.common.security.service.PjcloudUser;
|
||||
import com.bsd.pjcloud.common.security.util.SecurityUtils;
|
||||
import com.bsd.pjcloud.wallet.api.constant.WalletBizEnum;
|
||||
import com.bsd.pjcloud.wallet.api.dto.WalletBalanceTransactionDto;
|
||||
import com.bsd.pjcloud.wallet.api.dto.WalletTransactionDto;
|
||||
import com.bsd.pjcloud.wallet.api.entity.WalletTransactionEntity;
|
||||
@@ -77,12 +78,25 @@ public class WalletTransactionController {
|
||||
return R.ok(walletTransactionService.updateWalletBalance(dto));
|
||||
}
|
||||
|
||||
@Operation(summary = "分页查询", description = "分页查询")
|
||||
@GetMapping("/page")
|
||||
@PreAuthorize("@pms.hasPermission('wallet_walletTransaction_view')")
|
||||
public R getWalletTransactionPage(@ParameterObject Page page, @ParameterObject WalletTransactionEntity dto) {
|
||||
LambdaQueryWrapper<WalletTransactionEntity> wrapper = new LambdaQueryWrapper<WalletTransactionEntity>();
|
||||
return R.ok(walletTransactionService.page(page, wrapper));
|
||||
@Operation(summary = "后台充值分页", description = "后台充值分页")
|
||||
@GetMapping("/page-cz")
|
||||
public R pageCz(@ParameterObject Page page, @ParameterObject WalletTransactionDto dto) {
|
||||
dto.setBizTypes(List.of(WalletBizEnum.RECHARGE.getCode()));
|
||||
return R.ok(walletTransactionService.pageJoin(page, dto));
|
||||
}
|
||||
|
||||
@Operation(summary = "后台消费分页", description = "后台消费分页")
|
||||
@GetMapping("/page-xf")
|
||||
public R pageXf(@ParameterObject Page page, @ParameterObject WalletTransactionDto dto) {
|
||||
dto.setBizTypes(List.of(WalletBizEnum.PAYMENT.getCode()));
|
||||
return R.ok(walletTransactionService.pageJoin(page, dto));
|
||||
}
|
||||
|
||||
@Operation(summary = "后台退款分页", description = "后台退款分页")
|
||||
@GetMapping("/page-tk")
|
||||
public R pageTk(@ParameterObject Page page, @ParameterObject WalletTransactionDto dto) {
|
||||
dto.setBizTypes(List.of(WalletBizEnum.REFUND.getCode()));
|
||||
return R.ok(walletTransactionService.pageJoin(page, dto));
|
||||
}
|
||||
|
||||
@Operation(summary = "分页查询复杂查询", description = "分页查询复杂查询")
|
||||
|
||||
+14
-3
@@ -8,6 +8,7 @@ import com.bsd.pjcloud.common.data.datascope.PjcloudBaseMapper;
|
||||
import com.bsd.pjcloud.wallet.api.dto.WalletTransactionDto;
|
||||
import com.bsd.pjcloud.wallet.api.entity.WalletManageEntity;
|
||||
import com.bsd.pjcloud.wallet.api.entity.WalletTransactionEntity;
|
||||
import com.bsd.pjcloud.wallet.api.entity.WalletTypeEntity;
|
||||
import com.bsd.pjcloud.wallet.api.vo.WalletManageVo;
|
||||
import com.bsd.pjcloud.wallet.api.vo.WalletTransactionVo;
|
||||
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||
@@ -18,10 +19,20 @@ import java.util.Objects;
|
||||
@Mapper
|
||||
public interface WalletTransactionMapper extends PjcloudBaseMapper<WalletTransactionEntity> {
|
||||
|
||||
default IPage<WalletTransactionVo> pageJoin(Page page, WalletTransactionDto dto) {
|
||||
default Page<WalletTransactionVo> pageJoin(Page page, WalletTransactionDto dto) {
|
||||
MPJLambdaWrapper<WalletTransactionEntity> wrapper = new MPJLambdaWrapper<WalletTransactionEntity>()
|
||||
.eqIfExists(WalletTransactionEntity::getWalletId, dto.getWalletId());
|
||||
|
||||
.selectAll(WalletTransactionEntity.class)
|
||||
.selectAs(WalletManageEntity::getUserId, WalletTransactionVo::getUserId)
|
||||
.selectAs(WalletManageEntity::getDeptId, WalletTransactionVo::getDeptId)
|
||||
.selectAs(WalletTypeEntity::getName, WalletTransactionVo::getWalletTypeName)
|
||||
.selectAs(WalletTypeEntity::getUniqueCode, WalletTransactionVo::getWalletTypeUniqueCode)
|
||||
.leftJoin(WalletManageEntity.class, WalletManageEntity::getId, WalletTransactionEntity::getWalletId)
|
||||
.leftJoin(WalletTypeEntity.class, WalletTypeEntity::getId, WalletManageEntity::getWalletTypeId)
|
||||
.eqIfExists(WalletTransactionEntity::getWalletId, dto.getWalletId())
|
||||
.eqIfExists(WalletTransactionEntity::getBizType, dto.getBizType())
|
||||
.eqIfExists(WalletManageEntity::getWalletTypeId, dto.getWalletTypeId())
|
||||
.in(ObjectUtil.isNotEmpty(dto.getBizTypes()), WalletTransactionEntity::getBizType, dto.getBizTypes())
|
||||
.in(ObjectUtil.isNotEmpty(dto.getUserIds()), WalletManageEntity::getUserId, dto.getUserIds());
|
||||
if (ObjectUtil.equals(dto.getType(), WalletTransactionDto.TYPE_INCOME)) {
|
||||
wrapper.gt(WalletTransactionEntity::getPrice, 0);
|
||||
} else if (Objects.equals(dto.getType(), WalletTransactionDto.TYPE_EXPENSE)) {
|
||||
|
||||
+1
-1
@@ -47,5 +47,5 @@ public interface WalletTransactionService extends IService<WalletTransactionEnti
|
||||
* @param dto
|
||||
* @return
|
||||
*/
|
||||
IPage<WalletTransactionVo> pageJoin(Page page, WalletTransactionDto dto);
|
||||
Page<WalletTransactionVo> pageJoin(Page page, WalletTransactionDto dto);
|
||||
}
|
||||
+32
-2
@@ -6,12 +6,20 @@ import com.alibaba.fastjson.JSON;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.bsd.pjcloud.admin.api.entity.SysDept;
|
||||
import com.bsd.pjcloud.admin.api.entity.SysUser;
|
||||
import com.bsd.pjcloud.admin.api.feign.RemoteDeptService;
|
||||
import com.bsd.pjcloud.admin.api.feign.RemoteUserService;
|
||||
import com.bsd.pjcloud.admin.api.utils.DataUtil;
|
||||
import com.bsd.pjcloud.common.core.constant.CacheConstants;
|
||||
import com.bsd.pjcloud.common.core.exception.CheckedException;
|
||||
import com.bsd.pjcloud.common.core.util.CollectionUtils;
|
||||
import com.bsd.pjcloud.common.core.util.R;
|
||||
import com.bsd.pjcloud.wallet.api.constant.WalletBizEnum;
|
||||
import com.bsd.pjcloud.wallet.api.dto.WalletTransactionDto;
|
||||
import com.bsd.pjcloud.wallet.api.entity.WalletManageEntity;
|
||||
import com.bsd.pjcloud.wallet.api.entity.WalletTransactionEntity;
|
||||
import com.bsd.pjcloud.wallet.api.vo.WalletManageVo;
|
||||
import com.bsd.pjcloud.wallet.api.vo.WalletTransactionVo;
|
||||
import com.bsd.pjcloud.wallet.mapper.WalletManageMapper;
|
||||
import com.bsd.pjcloud.wallet.mapper.WalletTransactionMapper;
|
||||
@@ -25,6 +33,10 @@ import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 会员钱包流水表
|
||||
*
|
||||
@@ -43,6 +55,9 @@ public class WalletTransactionServiceImpl extends ServiceImpl<WalletTransactionM
|
||||
|
||||
private final WalletManageMapper walletManageMapper;
|
||||
|
||||
private final RemoteUserService userService;
|
||||
private final RemoteDeptService deptService;
|
||||
|
||||
|
||||
@Override
|
||||
public boolean save(WalletTransactionEntity entity) {
|
||||
@@ -127,7 +142,22 @@ public class WalletTransactionServiceImpl extends ServiceImpl<WalletTransactionM
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage<WalletTransactionVo> pageJoin(Page page, WalletTransactionDto dto) {
|
||||
return baseMapper.pageJoin(page, dto);
|
||||
public Page<WalletTransactionVo> pageJoin(Page page, WalletTransactionDto dto) {
|
||||
Page<WalletTransactionVo> list = baseMapper.pageJoin(page, dto);
|
||||
if (ObjectUtil.isNotEmpty(list.getRecords())) {
|
||||
// 用户
|
||||
List<Long> userIds = list.getRecords().stream().map(WalletTransactionVo::getUserId).distinct().toList();
|
||||
R<List<SysUser>> userList = userService.getUserById(new ArrayList<>(userIds));
|
||||
if (ObjectUtil.isNotEmpty(userList.getData())) {
|
||||
DataUtil.convertUserList(list.getRecords(), CollectionUtils.convertMap(userList.getData(), SysUser::getUserId));
|
||||
}
|
||||
// 部门
|
||||
List<Long> deptIds = list.getRecords().stream().map(WalletTransactionVo::getDeptId).distinct().toList();
|
||||
R<Map<Long, SysDept>> deptList = deptService.getDeptByDeptIds(deptIds);
|
||||
if (ObjectUtil.isNotEmpty(deptList.getData())) {
|
||||
DataUtil.convertDeptList(list.getRecords(), deptList.getData());
|
||||
}
|
||||
}
|
||||
return list;
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user