太空舱,套餐,太空舱订单 生成crud

This commit is contained in:
qjq
2024-10-30 16:53:52 +08:00
parent 09027a1a64
commit 7e5c88a4f0
29 changed files with 1542 additions and 0 deletions

View File

@ -111,5 +111,11 @@ public interface ErrorCodeConstants {
ErrorCode STORE_ORDER_NOT_EXISTS = new ErrorCode(1_007_904_005, "商品订单不存在");
ErrorCode STORE_ORDER_DETAIL_NOT_EXISTS = new ErrorCode(1_007_904_006,"商品订单详情不存在");
//========== 用户余额明细 1-004-014-000 =============
ErrorCode SPACE_CAPSULE_NOT_EXISTS = new ErrorCode(1_004_014_001, "太空舱不存在");
//========== 用户余额明细 1-004-015-000 =============
ErrorCode COMBO_NOT_EXISTS = new ErrorCode(1_004_015_001, "套餐不存在");
//========== 用户余额明细 1-004-016-000 =============
ErrorCode ORDER_SPACE_CAPSULE_NOT_EXISTS = new ErrorCode(1_004_016_001, "太空舱订单不存在");
}

View File

@ -0,0 +1,96 @@
package cn.iocoder.yudao.module.member.controller.admin.combo;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.member.controller.admin.combo.vo.ComboPageReqVO;
import cn.iocoder.yudao.module.member.controller.admin.combo.vo.ComboRespVO;
import cn.iocoder.yudao.module.member.controller.admin.combo.vo.ComboSaveReqVO;
import cn.iocoder.yudao.module.member.dal.dataobject.combo.ComboDO;
import cn.iocoder.yudao.module.member.service.combo.ComboService;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import javax.validation.*;
import javax.servlet.http.*;
import java.io.IOException;
import java.util.List;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*;
@Tag(name = "管理后台 - 套餐")
@RestController
@RequestMapping("/combo")
@Validated
public class ComboController {
@Resource
private ComboService comboService;
@PostMapping("/create")
@Operation(summary = "创建套餐")
@PreAuthorize("@ss.hasPermission('t:combo:create')")
public CommonResult<Long> createCombo(@Valid @RequestBody ComboSaveReqVO createReqVO) {
return success(comboService.createCombo(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新套餐")
@PreAuthorize("@ss.hasPermission('t:combo:update')")
public CommonResult<Boolean> updateCombo(@Valid @RequestBody ComboSaveReqVO updateReqVO) {
comboService.updateCombo(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除套餐")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('t:combo:delete')")
public CommonResult<Boolean> deleteCombo(@RequestParam("id") Long id) {
comboService.deleteCombo(id);
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得套餐")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('t:combo:query')")
public CommonResult<ComboRespVO> getCombo(@RequestParam("id") Long id) {
ComboDO combo = comboService.getCombo(id);
return success(BeanUtils.toBean(combo, ComboRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得套餐分页")
@PreAuthorize("@ss.hasPermission('t:combo:query')")
public CommonResult<PageResult<ComboRespVO>> getComboPage(@Valid ComboPageReqVO pageReqVO) {
PageResult<ComboDO> pageResult = comboService.getComboPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, ComboRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出套餐 Excel")
@PreAuthorize("@ss.hasPermission('t:combo:export')")
@OperateLog(type = EXPORT)
public void exportComboExcel(@Valid ComboPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<ComboDO> list = comboService.getComboPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "套餐.xls", "数据", ComboRespVO.class,
BeanUtils.toBean(list, ComboRespVO.class));
}
}

View File

@ -0,0 +1,42 @@
package cn.iocoder.yudao.module.member.controller.admin.combo.vo;
import lombok.*;
import java.math.BigDecimal;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - 套餐分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class ComboPageReqVO extends PageParam {
@Schema(description = "套餐名称", example = "王五")
private String packageName;
@Schema(description = "单价", example = "15421")
private BigDecimal price;
@Schema(description = "时间/分钟")
private Integer minutes;
@Schema(description = "备注", example = "你猜")
private String remark;
@Schema(description = "门店id", example = "23777")
private Long carteenId;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
@Schema(description = "状态", example = "2")
private Integer status;
}

View File

@ -0,0 +1,50 @@
package cn.iocoder.yudao.module.member.controller.admin.combo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.math.BigDecimal;
import java.util.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
@Schema(description = "管理后台 - 套餐 Response VO")
@Data
@ExcelIgnoreUnannotated
public class ComboRespVO {
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "3478")
@ExcelProperty("编号")
private Long id;
@Schema(description = "套餐名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
@ExcelProperty("套餐名称")
private String packageName;
@Schema(description = "单价", requiredMode = Schema.RequiredMode.REQUIRED, example = "15421")
@ExcelProperty("单价")
private BigDecimal price;
@Schema(description = "时间/分钟", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("时间/分钟")
private Integer minutes;
@Schema(description = "备注", example = "你猜")
@ExcelProperty("备注")
private String remark;
@Schema(description = "门店id", requiredMode = Schema.RequiredMode.REQUIRED, example = "23777")
@ExcelProperty("门店id")
private Long carteenId;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@Schema(description = "状态", example = "2")
@ExcelProperty("状态")
private Integer status;
}

View File

@ -0,0 +1,39 @@
package cn.iocoder.yudao.module.member.controller.admin.combo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.math.BigDecimal;
import java.util.*;
import javax.validation.constraints.*;
@Schema(description = "管理后台 - 套餐新增/修改 Request VO")
@Data
public class ComboSaveReqVO {
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "3478")
private Long id;
@Schema(description = "套餐名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
@NotEmpty(message = "套餐名称不能为空")
private String packageName;
@Schema(description = "单价", requiredMode = Schema.RequiredMode.REQUIRED, example = "15421")
@NotNull(message = "单价不能为空")
private BigDecimal price;
@Schema(description = "时间/分钟", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "时间/分钟不能为空")
private Integer minutes;
@Schema(description = "备注", example = "你猜")
private String remark;
@Schema(description = "门店id", requiredMode = Schema.RequiredMode.REQUIRED, example = "23777")
@NotNull(message = "门店id不能为空")
private Long carteenId;
@Schema(description = "状态", example = "2")
private Integer status;
}

View File

@ -0,0 +1,96 @@
package cn.iocoder.yudao.module.member.controller.admin.orderspacecapsule;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.member.controller.admin.orderspacecapsule.vo.OrderSpaceCapsulePageReqVO;
import cn.iocoder.yudao.module.member.controller.admin.orderspacecapsule.vo.OrderSpaceCapsuleRespVO;
import cn.iocoder.yudao.module.member.controller.admin.orderspacecapsule.vo.OrderSpaceCapsuleSaveReqVO;
import cn.iocoder.yudao.module.member.dal.dataobject.orderspacecapsule.OrderSpaceCapsuleDO;
import cn.iocoder.yudao.module.member.service.orderspacecapsule.OrderSpaceCapsuleService;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import javax.validation.*;
import javax.servlet.http.*;
import java.io.IOException;
import java.util.List;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*;
@Tag(name = "管理后台 - 太空舱订单")
@RestController
@RequestMapping("/t/order-space-capsule")
@Validated
public class OrderSpaceCapsuleController {
@Resource
private OrderSpaceCapsuleService orderSpaceCapsuleService;
@PostMapping("/create")
@Operation(summary = "创建太空舱订单")
@PreAuthorize("@ss.hasPermission('t:order-space-capsule:create')")
public CommonResult<Long> createOrderSpaceCapsule(@Valid @RequestBody OrderSpaceCapsuleSaveReqVO createReqVO) {
return success(orderSpaceCapsuleService.createOrderSpaceCapsule(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新太空舱订单")
@PreAuthorize("@ss.hasPermission('t:order-space-capsule:update')")
public CommonResult<Boolean> updateOrderSpaceCapsule(@Valid @RequestBody OrderSpaceCapsuleSaveReqVO updateReqVO) {
orderSpaceCapsuleService.updateOrderSpaceCapsule(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除太空舱订单")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('t:order-space-capsule:delete')")
public CommonResult<Boolean> deleteOrderSpaceCapsule(@RequestParam("id") Long id) {
orderSpaceCapsuleService.deleteOrderSpaceCapsule(id);
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得太空舱订单")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('t:order-space-capsule:query')")
public CommonResult<OrderSpaceCapsuleRespVO> getOrderSpaceCapsule(@RequestParam("id") Long id) {
OrderSpaceCapsuleDO orderSpaceCapsule = orderSpaceCapsuleService.getOrderSpaceCapsule(id);
return success(BeanUtils.toBean(orderSpaceCapsule, OrderSpaceCapsuleRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得太空舱订单分页")
@PreAuthorize("@ss.hasPermission('t:order-space-capsule:query')")
public CommonResult<PageResult<OrderSpaceCapsuleRespVO>> getOrderSpaceCapsulePage(@Valid OrderSpaceCapsulePageReqVO pageReqVO) {
PageResult<OrderSpaceCapsuleDO> pageResult = orderSpaceCapsuleService.getOrderSpaceCapsulePage(pageReqVO);
return success(BeanUtils.toBean(pageResult, OrderSpaceCapsuleRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出太空舱订单 Excel")
@PreAuthorize("@ss.hasPermission('t:order-space-capsule:export')")
@OperateLog(type = EXPORT)
public void exportOrderSpaceCapsuleExcel(@Valid OrderSpaceCapsulePageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<OrderSpaceCapsuleDO> list = orderSpaceCapsuleService.getOrderSpaceCapsulePage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "太空舱订单.xls", "数据", OrderSpaceCapsuleRespVO.class,
BeanUtils.toBean(list, OrderSpaceCapsuleRespVO.class));
}
}

View File

@ -0,0 +1,64 @@
package cn.iocoder.yudao.module.member.controller.admin.orderspacecapsule.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - 太空舱订单分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class OrderSpaceCapsulePageReqVO extends PageParam {
@Schema(description = "订单金额")
private BigDecimal money;
@Schema(description = "太空船id", example = "22979")
private Long spaceCapsuleId;
@Schema(description = "门店id", example = "5246")
private Long carteenId;
@Schema(description = "0未使用1使用中2已完成3已退款", example = "1")
private Integer status;
@Schema(description = "套餐金额", example = "32723")
private BigDecimal comboPrice;
@Schema(description = "套餐时间/分钟")
private Integer comboMinutes;
@Schema(description = "套餐名称", example = "王五")
private String comboPackageName;
@Schema(description = "套餐开始使用时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] orderStartTime;
@Schema(description = "套餐结束使用时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] orderEndTime;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
@Schema(description = "产生订单的用户id", example = "30766")
private Long userId;
@Schema(description = "消费前的余额")
private BigDecimal startMoney;
@Schema(description = "消费后的余额")
private BigDecimal endMoney;
@Schema(description = "支付方式")
private String payMethods;
}

View File

@ -0,0 +1,77 @@
package cn.iocoder.yudao.module.member.controller.admin.orderspacecapsule.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.util.*;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
@Schema(description = "管理后台 - 太空舱订单 Response VO")
@Data
@ExcelIgnoreUnannotated
public class OrderSpaceCapsuleRespVO {
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "23511")
@ExcelProperty("编号")
private Long id;
@Schema(description = "订单金额", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("订单金额")
private BigDecimal money;
@Schema(description = "太空船id", requiredMode = Schema.RequiredMode.REQUIRED, example = "22979")
@ExcelProperty("太空船id")
private Long spaceCapsuleId;
@Schema(description = "门店id", requiredMode = Schema.RequiredMode.REQUIRED, example = "5246")
@ExcelProperty("门店id")
private Long carteenId;
@Schema(description = "0未使用1使用中2已完成3已退款", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
@ExcelProperty("0未使用1使用中2已完成3已退款")
private Integer status;
@Schema(description = "套餐金额", requiredMode = Schema.RequiredMode.REQUIRED, example = "32723")
@ExcelProperty("套餐金额")
private BigDecimal comboPrice;
@Schema(description = "套餐时间/分钟", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("套餐时间/分钟")
private Integer comboMinutes;
@Schema(description = "套餐名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
@ExcelProperty("套餐名称")
private String comboPackageName;
@Schema(description = "套餐开始使用时间")
@ExcelProperty("套餐开始使用时间")
private LocalDateTime orderStartTime;
@Schema(description = "套餐结束使用时间")
@ExcelProperty("套餐结束使用时间")
private LocalDateTime orderEndTime;
@Schema(description = "创建时间")
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@Schema(description = "产生订单的用户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "30766")
@ExcelProperty("产生订单的用户id")
private Long userId;
@Schema(description = "消费前的余额", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("消费前的余额")
private BigDecimal startMoney;
@Schema(description = "消费后的余额", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("消费后的余额")
private BigDecimal endMoney;
@Schema(description = "支付方式", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("支付方式")
private String payMethods;
}

View File

@ -0,0 +1,68 @@
package cn.iocoder.yudao.module.member.controller.admin.orderspacecapsule.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - 太空舱订单新增/修改 Request VO")
@Data
public class OrderSpaceCapsuleSaveReqVO {
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "23511")
private Long id;
@Schema(description = "订单金额", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "订单金额不能为空")
private BigDecimal money;
@Schema(description = "太空船id", requiredMode = Schema.RequiredMode.REQUIRED, example = "22979")
@NotNull(message = "太空船id不能为空")
private Long spaceCapsuleId;
@Schema(description = "门店id", requiredMode = Schema.RequiredMode.REQUIRED, example = "5246")
@NotNull(message = "门店id不能为空")
private Long carteenId;
@Schema(description = "0未使用1使用中2已完成3已退款", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
@NotNull(message = "0未使用1使用中2已完成3已退款不能为空")
private Integer status;
@Schema(description = "套餐金额", requiredMode = Schema.RequiredMode.REQUIRED, example = "32723")
@NotNull(message = "套餐金额不能为空")
private BigDecimal comboPrice;
@Schema(description = "套餐时间/分钟", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "套餐时间/分钟不能为空")
private Integer comboMinutes;
@Schema(description = "套餐名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
@NotEmpty(message = "套餐名称不能为空")
private String comboPackageName;
@Schema(description = "套餐开始使用时间")
private LocalDateTime orderStartTime;
@Schema(description = "套餐结束使用时间")
private LocalDateTime orderEndTime;
@Schema(description = "产生订单的用户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "30766")
@NotNull(message = "产生订单的用户id不能为空")
private Long userId;
@Schema(description = "消费前的余额", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "消费前的余额不能为空")
private BigDecimal startMoney;
@Schema(description = "消费后的余额", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "消费后的余额不能为空")
private BigDecimal endMoney;
@Schema(description = "支付方式", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "支付方式不能为空")
private String payMethods;
}

View File

@ -0,0 +1,95 @@
package cn.iocoder.yudao.module.member.controller.admin.spacecapsule;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.member.controller.admin.spacecapsule.vo.SpaceCapsulePageReqVO;
import cn.iocoder.yudao.module.member.controller.admin.spacecapsule.vo.SpaceCapsuleRespVO;
import cn.iocoder.yudao.module.member.controller.admin.spacecapsule.vo.SpaceCapsuleSaveReqVO;
import cn.iocoder.yudao.module.member.dal.dataobject.spacecapsule.SpaceCapsuleDO;
import cn.iocoder.yudao.module.member.service.spacecapsule.SpaceCapsuleService;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import javax.validation.*;
import javax.servlet.http.*;
import java.io.IOException;
import java.util.List;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*;
@Tag(name = "管理后台 - 太空舱")
@RestController
@RequestMapping("/space-capsule")
@Validated
public class SpaceCapsuleController {
@Resource
private SpaceCapsuleService spaceCapsuleService;
@PostMapping("/create")
@Operation(summary = "创建太空舱")
@PreAuthorize("@ss.hasPermission('t:space-capsule:create')")
public CommonResult<Long> createSpaceCapsule(@Valid @RequestBody SpaceCapsuleSaveReqVO createReqVO) {
return success(spaceCapsuleService.createSpaceCapsule(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新太空舱")
@PreAuthorize("@ss.hasPermission('t:space-capsule:update')")
public CommonResult<Boolean> updateSpaceCapsule(@Valid @RequestBody SpaceCapsuleSaveReqVO updateReqVO) {
spaceCapsuleService.updateSpaceCapsule(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除太空舱")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('t:space-capsule:delete')")
public CommonResult<Boolean> deleteSpaceCapsule(@RequestParam("id") Long id) {
spaceCapsuleService.deleteSpaceCapsule(id);
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得太空舱")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('t:space-capsule:query')")
public CommonResult<SpaceCapsuleRespVO> getSpaceCapsule(@RequestParam("id") Long id) {
SpaceCapsuleDO spaceCapsule = spaceCapsuleService.getSpaceCapsule(id);
return success(BeanUtils.toBean(spaceCapsule, SpaceCapsuleRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得太空舱分页")
@PreAuthorize("@ss.hasPermission('t:space-capsule:query')")
public CommonResult<PageResult<SpaceCapsuleRespVO>> getSpaceCapsulePage(@Valid SpaceCapsulePageReqVO pageReqVO) {
PageResult<SpaceCapsuleDO> pageResult = spaceCapsuleService.getSpaceCapsulePage(pageReqVO);
return success(BeanUtils.toBean(pageResult, SpaceCapsuleRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出太空舱 Excel")
@PreAuthorize("@ss.hasPermission('t:space-capsule:export')")
@OperateLog(type = EXPORT)
public void exportSpaceCapsuleExcel(@Valid SpaceCapsulePageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<SpaceCapsuleDO> list = spaceCapsuleService.getSpaceCapsulePage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "太空舱.xls", "数据", SpaceCapsuleRespVO.class,
BeanUtils.toBean(list, SpaceCapsuleRespVO.class));
}
}

View File

@ -0,0 +1,40 @@
package cn.iocoder.yudao.module.member.controller.admin.spacecapsule.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - 太空舱分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class SpaceCapsulePageReqVO extends PageParam {
@Schema(description = "支付编号")
private Integer payNum;
@Schema(description = "机器编号")
private String machineNum;
@Schema(description = "0使用中1空闲2故障3已预约")
private Integer status;
@Schema(description = "门店id", example = "9950")
private Long carteenId;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
@Schema(description = "备注", example = "你猜")
private String remark;
@Schema(description = "太空舱名称", example = "赵六")
private String spaceName;
}

View File

@ -0,0 +1,48 @@
package cn.iocoder.yudao.module.member.controller.admin.spacecapsule.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
@Schema(description = "管理后台 - 太空舱 Response VO")
@Data
@ExcelIgnoreUnannotated
public class SpaceCapsuleRespVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "15731")
@ExcelProperty("主键")
private Long id;
@Schema(description = "支付编号", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("支付编号")
private Integer payNum;
@Schema(description = "机器编号", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("机器编号")
private String machineNum;
@Schema(description = "0使用中1空闲2故障3已预约", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("0使用中1空闲2故障3已预约")
private Integer status;
@Schema(description = "门店id", requiredMode = Schema.RequiredMode.REQUIRED, example = "9950")
@ExcelProperty("门店id")
private Long carteenId;
@Schema(description = "创建时间")
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@Schema(description = "备注", example = "你猜")
@ExcelProperty("备注")
private String remark;
@Schema(description = "太空舱名称", example = "赵六")
@ExcelProperty("太空舱名称")
private String spaceName;
}

View File

@ -0,0 +1,37 @@
package cn.iocoder.yudao.module.member.controller.admin.spacecapsule.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;
@Schema(description = "管理后台 - 太空舱新增/修改 Request VO")
@Data
public class SpaceCapsuleSaveReqVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "15731")
private Long id;
@Schema(description = "支付编号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "支付编号不能为空")
private Integer payNum;
@Schema(description = "机器编号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "机器编号不能为空")
private String machineNum;
@Schema(description = "0使用中1空闲2故障3已预约", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "0使用中1空闲2故障3已预约不能为空")
private Integer status;
@Schema(description = "门店id", requiredMode = Schema.RequiredMode.REQUIRED, example = "9950")
@NotNull(message = "门店id不能为空")
private Long carteenId;
@Schema(description = "备注", example = "你猜")
private String remark;
@Schema(description = "太空舱名称", example = "赵六")
private String spaceName;
}

View File

@ -0,0 +1,43 @@
package cn.iocoder.yudao.module.member.controller.app.spacecapsule;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.member.controller.admin.spacecapsule.vo.SpaceCapsulePageReqVO;
import cn.iocoder.yudao.module.member.controller.admin.spacecapsule.vo.SpaceCapsuleRespVO;
import cn.iocoder.yudao.module.member.dal.dataobject.spacecapsule.SpaceCapsuleDO;
import cn.iocoder.yudao.module.member.service.spacecapsule.SpaceCapsuleService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.Valid;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - 太空舱")
@RestController
@RequestMapping("/space-capsule")
@Validated
public class SpaceCapsuleController {
@Resource
private SpaceCapsuleService spaceCapsuleService;
@GetMapping("/get")
@Operation(summary = "获得太空舱")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
public CommonResult<SpaceCapsuleRespVO> getSpaceCapsule(@RequestParam("id") Long id) {
SpaceCapsuleDO spaceCapsule = spaceCapsuleService.getSpaceCapsule(id);
return success(BeanUtils.toBean(spaceCapsule, SpaceCapsuleRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得太空舱分页")
public CommonResult<PageResult<SpaceCapsuleRespVO>> getSpaceCapsulePage(@Valid SpaceCapsulePageReqVO pageReqVO) {
PageResult<SpaceCapsuleDO> pageResult = spaceCapsuleService.getSpaceCapsulePageApp(pageReqVO);
return success(BeanUtils.toBean(pageResult, SpaceCapsuleRespVO.class));
}
}

View File

@ -0,0 +1,55 @@
package cn.iocoder.yudao.module.member.dal.dataobject.combo;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
/**
* 套餐 DO
*
* @author 管理员
*/
@TableName("t_combo")
@KeySequence("t_combo_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ComboDO extends BaseDO {
/**
* 编号
*/
@TableId
private Long id;
/**
* 套餐名称
*/
private String packageName;
/**
* 单价
*/
private Double price;
/**
* 时间/分钟
*/
private Integer minutes;
/**
* 备注
*/
private String remark;
/**
* 门店id
*/
private Long carteenId;
/**
* 状态
*/
private Integer status;
}

View File

@ -0,0 +1,89 @@
package cn.iocoder.yudao.module.member.dal.dataobject.orderspacecapsule;
import lombok.*;
import java.util.*;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
/**
* 太空舱订单 DO
*
* @author 管理员
*/
@TableName("t_order_space_capsule")
@KeySequence("t_order_space_capsule_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class OrderSpaceCapsuleDO extends BaseDO {
/**
* 编号
*/
@TableId
private Long id;
/**
* 订单金额
*/
private BigDecimal money;
/**
* 太空船id
*/
private Long spaceCapsuleId;
/**
* 门店id
*/
private Long carteenId;
/**
* 0未使用1使用中2已完成3已退款
*/
private Integer status;
/**
* 套餐金额
*/
private BigDecimal comboPrice;
/**
* 套餐时间/分钟
*/
private Integer comboMinutes;
/**
* 套餐名称
*/
private String comboPackageName;
/**
* 套餐开始使用时间
*/
private LocalDateTime orderStartTime;
/**
* 套餐结束使用时间
*/
private LocalDateTime orderEndTime;
/**
* 产生订单的用户id
*/
private Long userId;
/**
* 消费前的余额
*/
private BigDecimal startMoney;
/**
* 消费后的余额
*/
private BigDecimal endMoney;
/**
* 支付方式
*/
private String payMethods;
}

View File

@ -0,0 +1,55 @@
package cn.iocoder.yudao.module.member.dal.dataobject.spacecapsule;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
/**
* 太空舱 DO
*
* @author 管理员
*/
@TableName("t_space_capsule")
@KeySequence("t_space_capsule_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SpaceCapsuleDO extends BaseDO {
/**
* 主键
*/
@TableId
private Long id;
/**
* 支付编号
*/
private Integer payNum;
/**
* 机器编号
*/
private String machineNum;
/**
* 0使用中1空闲2故障3已预约
*/
private Integer status;
/**
* 门店id
*/
private Long carteenId;
/**
* 备注
*/
private String remark;
/**
* 太空舱名称
*/
private String spaceName;
}

View File

@ -0,0 +1,32 @@
package cn.iocoder.yudao.module.member.dal.mysql.combo;
import java.util.*;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.member.controller.admin.combo.vo.ComboPageReqVO;
import cn.iocoder.yudao.module.member.dal.dataobject.combo.ComboDO;
import org.apache.ibatis.annotations.Mapper;
/**
* 套餐 Mapper
*
* @author 管理员
*/
@Mapper
public interface ComboMapper extends BaseMapperX<ComboDO> {
default PageResult<ComboDO> selectPage(ComboPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<ComboDO>()
.likeIfPresent(ComboDO::getPackageName, reqVO.getPackageName())
.eqIfPresent(ComboDO::getPrice, reqVO.getPrice())
.eqIfPresent(ComboDO::getMinutes, reqVO.getMinutes())
.eqIfPresent(ComboDO::getRemark, reqVO.getRemark())
.eqIfPresent(ComboDO::getCarteenId, reqVO.getCarteenId())
.betweenIfPresent(ComboDO::getCreateTime, reqVO.getCreateTime())
.eqIfPresent(ComboDO::getStatus, reqVO.getStatus())
.orderByDesc(ComboDO::getId));
}
}

View File

@ -0,0 +1,38 @@
package cn.iocoder.yudao.module.member.dal.mysql.orderspacecapsule;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.member.controller.admin.orderspacecapsule.vo.OrderSpaceCapsulePageReqVO;
import cn.iocoder.yudao.module.member.dal.dataobject.orderspacecapsule.OrderSpaceCapsuleDO;
import org.apache.ibatis.annotations.Mapper;
/**
* 太空舱订单 Mapper
*
* @author 管理员
*/
@Mapper
public interface OrderSpaceCapsuleMapper extends BaseMapperX<OrderSpaceCapsuleDO> {
default PageResult<OrderSpaceCapsuleDO> selectPage(OrderSpaceCapsulePageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<OrderSpaceCapsuleDO>()
.eqIfPresent(OrderSpaceCapsuleDO::getMoney, reqVO.getMoney())
.eqIfPresent(OrderSpaceCapsuleDO::getSpaceCapsuleId, reqVO.getSpaceCapsuleId())
.eqIfPresent(OrderSpaceCapsuleDO::getCarteenId, reqVO.getCarteenId())
.eqIfPresent(OrderSpaceCapsuleDO::getStatus, reqVO.getStatus())
.eqIfPresent(OrderSpaceCapsuleDO::getComboPrice, reqVO.getComboPrice())
.eqIfPresent(OrderSpaceCapsuleDO::getComboMinutes, reqVO.getComboMinutes())
.likeIfPresent(OrderSpaceCapsuleDO::getComboPackageName, reqVO.getComboPackageName())
.betweenIfPresent(OrderSpaceCapsuleDO::getOrderStartTime, reqVO.getOrderStartTime())
.betweenIfPresent(OrderSpaceCapsuleDO::getOrderEndTime, reqVO.getOrderEndTime())
.betweenIfPresent(OrderSpaceCapsuleDO::getCreateTime, reqVO.getCreateTime())
.eqIfPresent(OrderSpaceCapsuleDO::getUserId, reqVO.getUserId())
.eqIfPresent(OrderSpaceCapsuleDO::getStartMoney, reqVO.getStartMoney())
.eqIfPresent(OrderSpaceCapsuleDO::getEndMoney, reqVO.getEndMoney())
.eqIfPresent(OrderSpaceCapsuleDO::getPayMethods, reqVO.getPayMethods())
.orderByDesc(OrderSpaceCapsuleDO::getId));
}
}

View File

@ -0,0 +1,48 @@
package cn.iocoder.yudao.module.member.dal.mysql.spacecapsule;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.member.controller.admin.spacecapsule.vo.SpaceCapsulePageReqVO;
import cn.iocoder.yudao.module.member.dal.dataobject.spacecapsule.SpaceCapsuleDO;
import org.apache.ibatis.annotations.Mapper;
/**
* 太空舱 Mapper
*
* @author 管理员
*/
@Mapper
public interface SpaceCapsuleMapper extends BaseMapperX<SpaceCapsuleDO> {
default PageResult<SpaceCapsuleDO> selectPage(SpaceCapsulePageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<SpaceCapsuleDO>()
.eqIfPresent(SpaceCapsuleDO::getPayNum, reqVO.getPayNum())
.eqIfPresent(SpaceCapsuleDO::getMachineNum, reqVO.getMachineNum())
.eqIfPresent(SpaceCapsuleDO::getStatus, reqVO.getStatus())
.eqIfPresent(SpaceCapsuleDO::getCarteenId, reqVO.getCarteenId())
.betweenIfPresent(SpaceCapsuleDO::getCreateTime, reqVO.getCreateTime())
.eqIfPresent(SpaceCapsuleDO::getRemark, reqVO.getRemark())
.likeIfPresent(SpaceCapsuleDO::getSpaceName, reqVO.getSpaceName())
.orderByDesc(SpaceCapsuleDO::getId));
}
/**
* 小程序过滤故障 ===>Status为2
* @param reqVO
* @return
*/
default PageResult<SpaceCapsuleDO> selectPageApp(SpaceCapsulePageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<SpaceCapsuleDO>()
.eqIfPresent(SpaceCapsuleDO::getPayNum, reqVO.getPayNum())
.eqIfPresent(SpaceCapsuleDO::getMachineNum, reqVO.getMachineNum())
.eqIfPresent(SpaceCapsuleDO::getStatus, reqVO.getStatus())
.eqIfPresent(SpaceCapsuleDO::getCarteenId, reqVO.getCarteenId())
.betweenIfPresent(SpaceCapsuleDO::getCreateTime, reqVO.getCreateTime())
.eqIfPresent(SpaceCapsuleDO::getRemark, reqVO.getRemark())
.likeIfPresent(SpaceCapsuleDO::getSpaceName, reqVO.getSpaceName())
.ne(SpaceCapsuleDO::getStatus, 2)
.orderByDesc(SpaceCapsuleDO::getId));
}
}

View File

@ -0,0 +1,55 @@
package cn.iocoder.yudao.module.member.service.combo;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.member.controller.admin.combo.vo.ComboPageReqVO;
import cn.iocoder.yudao.module.member.controller.admin.combo.vo.ComboSaveReqVO;
import cn.iocoder.yudao.module.member.dal.dataobject.combo.ComboDO;
import javax.validation.*;
/**
* 套餐 Service 接口
*
* @author 管理员
*/
public interface ComboService {
/**
* 创建套餐
*
* @param createReqVO 创建信息
* @return 编号
*/
Long createCombo(@Valid ComboSaveReqVO createReqVO);
/**
* 更新套餐
*
* @param updateReqVO 更新信息
*/
void updateCombo(@Valid ComboSaveReqVO updateReqVO);
/**
* 删除套餐
*
* @param id 编号
*/
void deleteCombo(Long id);
/**
* 获得套餐
*
* @param id 编号
* @return 套餐
*/
ComboDO getCombo(Long id);
/**
* 获得套餐分页
*
* @param pageReqVO 分页查询
* @return 套餐分页
*/
PageResult<ComboDO> getComboPage(ComboPageReqVO pageReqVO);
}

View File

@ -0,0 +1,71 @@
package cn.iocoder.yudao.module.member.service.combo;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.member.controller.admin.combo.vo.ComboPageReqVO;
import cn.iocoder.yudao.module.member.controller.admin.combo.vo.ComboSaveReqVO;
import cn.iocoder.yudao.module.member.dal.dataobject.combo.ComboDO;
import cn.iocoder.yudao.module.member.dal.mysql.combo.ComboMapper;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.COMBO_NOT_EXISTS;
/**
* 套餐 Service 实现类
*
* @author 管理员
*/
@Service
@Validated
public class ComboServiceImpl implements ComboService {
@Resource
private ComboMapper comboMapper;
@Override
public Long createCombo(ComboSaveReqVO createReqVO) {
// 插入
ComboDO combo = BeanUtils.toBean(createReqVO, ComboDO.class);
comboMapper.insert(combo);
// 返回
return combo.getId();
}
@Override
public void updateCombo(ComboSaveReqVO updateReqVO) {
// 校验存在
validateComboExists(updateReqVO.getId());
// 更新
ComboDO updateObj = BeanUtils.toBean(updateReqVO, ComboDO.class);
comboMapper.updateById(updateObj);
}
@Override
public void deleteCombo(Long id) {
// 校验存在
validateComboExists(id);
// 删除
comboMapper.deleteById(id);
}
private void validateComboExists(Long id) {
if (comboMapper.selectById(id) == null) {
throw exception(COMBO_NOT_EXISTS);
}
}
@Override
public ComboDO getCombo(Long id) {
return comboMapper.selectById(id);
}
@Override
public PageResult<ComboDO> getComboPage(ComboPageReqVO pageReqVO) {
return comboMapper.selectPage(pageReqVO);
}
}

View File

@ -0,0 +1,55 @@
package cn.iocoder.yudao.module.member.service.orderspacecapsule;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.member.controller.admin.orderspacecapsule.vo.OrderSpaceCapsulePageReqVO;
import cn.iocoder.yudao.module.member.controller.admin.orderspacecapsule.vo.OrderSpaceCapsuleSaveReqVO;
import cn.iocoder.yudao.module.member.dal.dataobject.orderspacecapsule.OrderSpaceCapsuleDO;
import javax.validation.*;
/**
* 太空舱订单 Service 接口
*
* @author 管理员
*/
public interface OrderSpaceCapsuleService {
/**
* 创建太空舱订单
*
* @param createReqVO 创建信息
* @return 编号
*/
Long createOrderSpaceCapsule(@Valid OrderSpaceCapsuleSaveReqVO createReqVO);
/**
* 更新太空舱订单
*
* @param updateReqVO 更新信息
*/
void updateOrderSpaceCapsule(@Valid OrderSpaceCapsuleSaveReqVO updateReqVO);
/**
* 删除太空舱订单
*
* @param id 编号
*/
void deleteOrderSpaceCapsule(Long id);
/**
* 获得太空舱订单
*
* @param id 编号
* @return 太空舱订单
*/
OrderSpaceCapsuleDO getOrderSpaceCapsule(Long id);
/**
* 获得太空舱订单分页
*
* @param pageReqVO 分页查询
* @return 太空舱订单分页
*/
PageResult<OrderSpaceCapsuleDO> getOrderSpaceCapsulePage(OrderSpaceCapsulePageReqVO pageReqVO);
}

View File

@ -0,0 +1,71 @@
package cn.iocoder.yudao.module.member.service.orderspacecapsule;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.member.controller.admin.orderspacecapsule.vo.OrderSpaceCapsulePageReqVO;
import cn.iocoder.yudao.module.member.controller.admin.orderspacecapsule.vo.OrderSpaceCapsuleSaveReqVO;
import cn.iocoder.yudao.module.member.dal.dataobject.orderspacecapsule.OrderSpaceCapsuleDO;
import cn.iocoder.yudao.module.member.dal.mysql.orderspacecapsule.OrderSpaceCapsuleMapper;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.ORDER_SPACE_CAPSULE_NOT_EXISTS;
/**
* 太空舱订单 Service 实现类
*
* @author 管理员
*/
@Service
@Validated
public class OrderSpaceCapsuleServiceImpl implements OrderSpaceCapsuleService {
@Resource
private OrderSpaceCapsuleMapper orderSpaceCapsuleMapper;
@Override
public Long createOrderSpaceCapsule(OrderSpaceCapsuleSaveReqVO createReqVO) {
// 插入
OrderSpaceCapsuleDO orderSpaceCapsule = BeanUtils.toBean(createReqVO, OrderSpaceCapsuleDO.class);
orderSpaceCapsuleMapper.insert(orderSpaceCapsule);
// 返回
return orderSpaceCapsule.getId();
}
@Override
public void updateOrderSpaceCapsule(OrderSpaceCapsuleSaveReqVO updateReqVO) {
// 校验存在
validateOrderSpaceCapsuleExists(updateReqVO.getId());
// 更新
OrderSpaceCapsuleDO updateObj = BeanUtils.toBean(updateReqVO, OrderSpaceCapsuleDO.class);
orderSpaceCapsuleMapper.updateById(updateObj);
}
@Override
public void deleteOrderSpaceCapsule(Long id) {
// 校验存在
validateOrderSpaceCapsuleExists(id);
// 删除
orderSpaceCapsuleMapper.deleteById(id);
}
private void validateOrderSpaceCapsuleExists(Long id) {
if (orderSpaceCapsuleMapper.selectById(id) == null) {
throw exception(ORDER_SPACE_CAPSULE_NOT_EXISTS);
}
}
@Override
public OrderSpaceCapsuleDO getOrderSpaceCapsule(Long id) {
return orderSpaceCapsuleMapper.selectById(id);
}
@Override
public PageResult<OrderSpaceCapsuleDO> getOrderSpaceCapsulePage(OrderSpaceCapsulePageReqVO pageReqVO) {
return orderSpaceCapsuleMapper.selectPage(pageReqVO);
}
}

View File

@ -0,0 +1,62 @@
package cn.iocoder.yudao.module.member.service.spacecapsule;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.member.controller.admin.spacecapsule.vo.SpaceCapsulePageReqVO;
import cn.iocoder.yudao.module.member.controller.admin.spacecapsule.vo.SpaceCapsuleSaveReqVO;
import cn.iocoder.yudao.module.member.dal.dataobject.spacecapsule.SpaceCapsuleDO;
import javax.validation.*;
/**
* 太空舱 Service 接口
*
* @author 管理员
*/
public interface SpaceCapsuleService {
/**
* 创建太空舱
*
* @param createReqVO 创建信息
* @return 编号
*/
Long createSpaceCapsule(@Valid SpaceCapsuleSaveReqVO createReqVO);
/**
* 更新太空舱
*
* @param updateReqVO 更新信息
*/
void updateSpaceCapsule(@Valid SpaceCapsuleSaveReqVO updateReqVO);
/**
* 删除太空舱
*
* @param id 编号
*/
void deleteSpaceCapsule(Long id);
/**
* 获得太空舱
*
* @param id 编号
* @return 太空舱
*/
SpaceCapsuleDO getSpaceCapsule(Long id);
/**
* 获得太空舱分页
*
* @param pageReqVO 分页查询
* @return 太空舱分页
*/
PageResult<SpaceCapsuleDO> getSpaceCapsulePage(SpaceCapsulePageReqVO pageReqVO);
/**
* 过滤掉故障的
* @param pageReqVO
* @return
*/
PageResult<SpaceCapsuleDO> getSpaceCapsulePageApp(SpaceCapsulePageReqVO pageReqVO);
}

View File

@ -0,0 +1,74 @@
package cn.iocoder.yudao.module.member.service.spacecapsule;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.member.controller.admin.spacecapsule.vo.SpaceCapsulePageReqVO;
import cn.iocoder.yudao.module.member.controller.admin.spacecapsule.vo.SpaceCapsuleSaveReqVO;
import cn.iocoder.yudao.module.member.dal.dataobject.spacecapsule.SpaceCapsuleDO;
import cn.iocoder.yudao.module.member.dal.mysql.spacecapsule.SpaceCapsuleMapper;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.SPACE_CAPSULE_NOT_EXISTS;
/**
* 太空舱 Service 实现类
*
* @author 管理员
*/
@Service
@Validated
public class SpaceCapsuleServiceImpl implements SpaceCapsuleService {
@Resource
private SpaceCapsuleMapper spaceCapsuleMapper;
@Override
public Long createSpaceCapsule(SpaceCapsuleSaveReqVO createReqVO) {
// 插入
SpaceCapsuleDO spaceCapsule = BeanUtils.toBean(createReqVO, SpaceCapsuleDO.class);
spaceCapsuleMapper.insert(spaceCapsule);
// 返回
return spaceCapsule.getId();
}
@Override
public void updateSpaceCapsule(SpaceCapsuleSaveReqVO updateReqVO) {
// 校验存在
validateSpaceCapsuleExists(updateReqVO.getId());
// 更新
SpaceCapsuleDO updateObj = BeanUtils.toBean(updateReqVO, SpaceCapsuleDO.class);
spaceCapsuleMapper.updateById(updateObj);
}
@Override
public void deleteSpaceCapsule(Long id) {
// 校验存在
validateSpaceCapsuleExists(id);
// 删除
spaceCapsuleMapper.deleteById(id);
}
private void validateSpaceCapsuleExists(Long id) {
if (spaceCapsuleMapper.selectById(id) == null) {
throw exception(SPACE_CAPSULE_NOT_EXISTS);
}
}
@Override
public SpaceCapsuleDO getSpaceCapsule(Long id) {
return spaceCapsuleMapper.selectById(id);
}
@Override
public PageResult<SpaceCapsuleDO> getSpaceCapsulePage(SpaceCapsulePageReqVO pageReqVO) {
return spaceCapsuleMapper.selectPage(pageReqVO);
}
@Override
public PageResult<SpaceCapsuleDO> getSpaceCapsulePageApp(SpaceCapsulePageReqVO pageReqVO) {
return spaceCapsuleMapper.selectPageApp(pageReqVO);
}
}

View File

@ -0,0 +1,12 @@
<?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="cn.iocoder.yudao.module.member.dal.mysql.combo.ComboMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
</mapper>

View File

@ -0,0 +1,12 @@
<?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="cn.iocoder.yudao.module.member.dal.mysql.orderspacecapsule.OrderSpaceCapsuleMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
</mapper>

View File

@ -0,0 +1,12 @@
<?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="cn.iocoder.yudao.module.member.dal.mysql.spacecapsule.SpaceCapsuleMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
</mapper>