Compare commits
10 Commits
a33ad65c94
...
49e74b91c5
Author | SHA1 | Date | |
---|---|---|---|
49e74b91c5 | |||
a9a2460a0e | |||
5dbe070640 | |||
8646e62504 | |||
34d5724db7 | |||
57dfb3f316 | |||
a698d53742 | |||
6b92d0f800 | |||
0cc91a0894 | |||
acba88ade0 |
@ -0,0 +1,18 @@
|
||||
package cn.iocoder.yudao.module.member.api.activitypay;
|
||||
|
||||
import cn.iocoder.yudao.module.member.api.activitypay.dto.ActivityPayDTO;
|
||||
import cn.iocoder.yudao.module.member.api.activitypay.dto.ActivityPayRespDTO;
|
||||
|
||||
/**
|
||||
* 用户收件地址 API 接口
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
public interface ActivityApi {
|
||||
|
||||
|
||||
void createActivityPay(ActivityPayDTO createReqVO);
|
||||
|
||||
ActivityPayRespDTO getActivityPay(Long id);
|
||||
|
||||
}
|
@ -0,0 +1,55 @@
|
||||
package cn.iocoder.yudao.module.member.api.activitypay.dto;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 活动付款 DO
|
||||
*
|
||||
* @author 我是秦俊旗
|
||||
*/
|
||||
// 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ActivityPayDTO {
|
||||
|
||||
/**
|
||||
* 活动id
|
||||
*/
|
||||
private Long activityId;
|
||||
/**
|
||||
* 桌号
|
||||
*/
|
||||
private String serialNumbers;
|
||||
/**
|
||||
* 价格
|
||||
*/
|
||||
private BigDecimal price;
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
private Long userId;
|
||||
|
||||
private String status;
|
||||
|
||||
private String reserveTime;
|
||||
|
||||
private String dish;
|
||||
|
||||
private String diningPeriod;
|
||||
|
||||
private String voucherId;
|
||||
|
||||
private String transactionId;
|
||||
|
||||
private String openid;
|
||||
|
||||
private List<MenuDTO> menu;
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,37 @@
|
||||
package cn.iocoder.yudao.module.member.api.activitypay.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
|
||||
@Data
|
||||
|
||||
public class ActivityPayRespDTO {
|
||||
|
||||
|
||||
private Long id;
|
||||
|
||||
|
||||
private Long activityId;
|
||||
|
||||
|
||||
private String serialNumbers;
|
||||
|
||||
|
||||
private BigDecimal price;
|
||||
|
||||
|
||||
private Long userId;
|
||||
|
||||
|
||||
private String mobile;
|
||||
|
||||
private String transactionId;
|
||||
|
||||
private String openid;
|
||||
|
||||
private LocalDateTime createTime;
|
||||
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
package cn.iocoder.yudao.module.member.api.activitypay.dto;
|
||||
|
||||
|
||||
public class MenuDTO {
|
||||
|
||||
private String serialNumbers;
|
||||
|
||||
private Long menuId;
|
||||
|
||||
private String menuName;
|
||||
|
||||
public String getSerialNumbers() {
|
||||
return serialNumbers;
|
||||
}
|
||||
|
||||
public void setSerialNumbers(String serialNumbers) {
|
||||
this.serialNumbers = serialNumbers;
|
||||
}
|
||||
|
||||
public Long getMenuId() {
|
||||
return menuId;
|
||||
}
|
||||
|
||||
public void setMenuId(Long menuId) {
|
||||
this.menuId = menuId;
|
||||
}
|
||||
|
||||
public String getMenuName() {
|
||||
return menuName;
|
||||
}
|
||||
|
||||
public void setMenuName(String menuName) {
|
||||
this.menuName = menuName;
|
||||
}
|
||||
}
|
@ -186,5 +186,36 @@ public interface ErrorCodeConstants {
|
||||
ErrorCode STORE_DINING_PLATES_NOT_EXISTS = new ErrorCode(1_004_033_02, "设置不存在");
|
||||
|
||||
ErrorCode DINING_PLATES_BIND_MAX = new ErrorCode(1_004_033_02, "可绑定的餐盘已达到上限");
|
||||
|
||||
ErrorCode STORE_DISCOUNT_NOT_EXISTS = new ErrorCode(1_004_033_03, "门店超市折扣不存在");
|
||||
|
||||
|
||||
ErrorCode ACTIVITY_USER_NOT_EXISTS = new ErrorCode(1_005_000_01, "活动参加人员不存在");
|
||||
ErrorCode ACTIVITY_TABLE_NOT_EXISTS = new ErrorCode(1_005_000_02, "活动用餐桌子不存在");
|
||||
ErrorCode ACTIVITY_RESTAURANT_NOT_EXISTS = new ErrorCode(1_005_000_03, "活动用餐不存在");
|
||||
ErrorCode ACTIVITY_AWARDS_USER_NOT_EXISTS = new ErrorCode(1_005_000_04, "活动中奖人员不存在");
|
||||
ErrorCode ACTIVITY_AWARDS_NOT_EXISTS = new ErrorCode(1_005_000_05, "活动奖项不存在");
|
||||
ErrorCode ACTIVITY_NOT_EXISTS = new ErrorCode(1_005_000_06, "活动不存在");
|
||||
ErrorCode ACTIVITY_START = new ErrorCode(1_005_000_07, "活动已开始或结束");
|
||||
ErrorCode ACTIVITY_TABLE_ZERO = new ErrorCode(1_005_000_08, "总桌数至少为1");
|
||||
ErrorCode ACTIVITY_AWARDS_EXCEED = new ErrorCode(1_005_000_09, "中奖人数超出");
|
||||
ErrorCode ACTIVITY_ERROR = new ErrorCode(1_005_000_10, "活动已结束");
|
||||
ErrorCode ACTIVITY_USER_JOIN = new ErrorCode(1_005_000_11, "该活动已报名");
|
||||
ErrorCode ACTIVITY_TABLE_RESERVED = new ErrorCode(1_005_000_12, "桌子已预订");
|
||||
ErrorCode ACTIVITY_PAY_NOT_EXISTS = new ErrorCode(1_005_000_13, "活动付款不存在");
|
||||
ErrorCode ACTIVITY_AWARDS_USER_NOT_EFFECTIVE = new ErrorCode(1_005_000_14, "该奖项已兑换或已过期");
|
||||
ErrorCode ACTIVITY_NO_USER = new ErrorCode(1_005_000_15, "活动无参与人员");
|
||||
ErrorCode ACTIVITY_PAY_TABLE_NOT_EXISTS = new ErrorCode(1_005_000_16, "活动付款不存在");
|
||||
ErrorCode ACTIVITY_PAY_USE = new ErrorCode(1_005_000_17, "该订单已使用");
|
||||
ErrorCode ACTIVITY_PAY_EXPIRE = new ErrorCode(1_005_000_18, "该订单不在有效期内");
|
||||
ErrorCode ACTIVITY_ADD_DISH_NOT_EXISTS = new ErrorCode(1_005_000_19, "活动用餐桌子加菜不存在");
|
||||
ErrorCode ACTIVITY_TABLE_DISH_NOT_EXISTS = new ErrorCode(1_005_000_20, "活动用餐桌子配置不存在");
|
||||
ErrorCode ACTIVITY_ADD_DISH_NOT_CHANGE = new ErrorCode(1_005_000_21, "请先选择桌子");
|
||||
ErrorCode ACTIVITY_MERCHANT_NOT_EXISTS = new ErrorCode(1_005_000_22, "活动商家不存在");
|
||||
ErrorCode ACTIVITY_VOUCHER_NOT_EXISTS = new ErrorCode(1_005_000_23, "活动代金券不存在");
|
||||
ErrorCode ACTIVITY_VOUCHER_USER_NOT_EXISTS = new ErrorCode(1_005_000_24, "活动用户拥有代金券不存在");
|
||||
ErrorCode ACTIVITY_MENU_NOT_EXISTS = new ErrorCode(1_005_000_25, "活动套餐不存在");
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
@ -110,6 +110,10 @@
|
||||
<artifactId>javase</artifactId>
|
||||
<version>3.4.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.iocoder.boot</groupId>
|
||||
<artifactId>yudao-spring-boot-starter-protection</artifactId>
|
||||
</dependency>
|
||||
|
||||
|
||||
</dependencies>
|
||||
|
@ -0,0 +1,38 @@
|
||||
package cn.iocoder.yudao.module.member.api.activitypay;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.module.member.api.activitypay.dto.ActivityPayDTO;
|
||||
import cn.iocoder.yudao.module.member.api.activitypay.dto.ActivityPayRespDTO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activitypay.vo.ActivityPaySaveReqVO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.activitypay.ActivityPayDO;
|
||||
import cn.iocoder.yudao.module.member.service.activitypay.ActivityPayService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* 用户收件地址 API 接口
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
@Service
|
||||
public class ActivityApiImpl implements ActivityApi {
|
||||
|
||||
|
||||
@Resource
|
||||
private ActivityPayService activityPayService;
|
||||
|
||||
@Override
|
||||
public void createActivityPay(ActivityPayDTO createReqVO) {
|
||||
ActivityPaySaveReqVO bean = BeanUtil.toBean(createReqVO, ActivityPaySaveReqVO.class);
|
||||
bean.setMenu(createReqVO.getMenu());
|
||||
activityPayService.addActivityPay(bean);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ActivityPayRespDTO getActivityPay(Long id) {
|
||||
ActivityPayDO activityPay = activityPayService.getActivityPay(id);
|
||||
return BeanUtils.toBean(activityPay, ActivityPayRespDTO.class);
|
||||
}
|
||||
}
|
@ -0,0 +1,100 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activity;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
|
||||
import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activity.vo.ActivityPageReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activity.vo.ActivityRespVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activity.vo.ActivitySaveReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activityrestaurant.vo.ActivityRestaurantRespVO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.activity.ActivityDO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.activityrestaurant.ActivityRestaurantDO;
|
||||
import cn.iocoder.yudao.module.member.service.activity.ActivityService;
|
||||
import cn.iocoder.yudao.module.member.service.activityrestaurant.ActivityRestaurantService;
|
||||
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.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.Valid;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
|
||||
|
||||
@Tag(name = "管理后台 - 活动")
|
||||
@RestController
|
||||
@RequestMapping("/member/activity")
|
||||
@Validated
|
||||
public class ActivityController {
|
||||
|
||||
@Resource
|
||||
private ActivityService activityService;
|
||||
@Resource
|
||||
private ActivityRestaurantService activityRestaurantService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建活动")
|
||||
public CommonResult<Long> createActivity(@Valid @RequestBody ActivitySaveReqVO createReqVO) {
|
||||
return success(activityService.createActivity(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新活动")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity:update')")
|
||||
public CommonResult<Boolean> updateActivity(@Valid @RequestBody ActivitySaveReqVO updateReqVO) {
|
||||
activityService.updateActivity(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除活动")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('member:activity:delete')")
|
||||
public CommonResult<Boolean> deleteActivity(@RequestParam("id") Long id) {
|
||||
activityService.deleteActivity(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得活动")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity:query')")
|
||||
public CommonResult<ActivityRespVO> getActivity(@RequestParam("id") Long id) {
|
||||
ActivityDO activity = activityService.getActivity(id);
|
||||
ActivityRespVO bean = BeanUtils.toBean(activity, ActivityRespVO.class);
|
||||
ActivityRestaurantDO activityRestaurantDO = activityRestaurantService.getByActivityId(id);
|
||||
bean.setActivityRestaurantSaveDto(BeanUtils.toBean(activityRestaurantDO, ActivityRestaurantRespVO.class));
|
||||
return success(bean);
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得活动分页")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity:query')")
|
||||
public CommonResult<PageResult<ActivityRespVO>> getActivityPage(@Valid ActivityPageReqVO pageReqVO) {
|
||||
PageResult<ActivityRespVO> pageResult = activityService.getActivityPage(pageReqVO);
|
||||
return success(pageResult);
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出活动 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity:export')")
|
||||
@OperateLog(type = EXPORT)
|
||||
public void exportActivityExcel(@Valid ActivityPageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<ActivityRespVO> list = activityService.getActivityPage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "活动.xls", "数据", ActivityRespVO.class,
|
||||
list);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,56 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activity.vo;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.ToString;
|
||||
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 ActivityPageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "活动名称", example = "李四")
|
||||
private String activityName;
|
||||
|
||||
@Schema(description = "活动开始时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] startTime;
|
||||
|
||||
@Schema(description = "活动结束时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] endTime;
|
||||
|
||||
@Schema(description = "描述", example = "你猜")
|
||||
private String description;
|
||||
|
||||
@Schema(description = "封面图")
|
||||
private String img;
|
||||
|
||||
@Schema(description = "地点")
|
||||
private String location;
|
||||
|
||||
@Schema(description = "主办方")
|
||||
private String sponsor;
|
||||
|
||||
@Schema(description = "可抽奖次数")
|
||||
private Integer lotteryNum;
|
||||
|
||||
@Schema(description = "用餐状态,0-禁用,1-启用 ", example = "1")
|
||||
private String reservationStatus;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
|
||||
@Schema(description = "用户ID")
|
||||
private Long userId;
|
||||
|
||||
}
|
@ -0,0 +1,77 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activity.vo;
|
||||
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activityrestaurant.vo.ActivityRestaurantRespVO;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Schema(description = "管理后台 - 活动 Response VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class ActivityRespVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "29158")
|
||||
@ExcelProperty("编号")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "活动名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
|
||||
@ExcelProperty("活动名称")
|
||||
private String activityName;
|
||||
|
||||
@Schema(description = "活动开始时间")
|
||||
@ExcelProperty("活动开始时间")
|
||||
private LocalDateTime startTime;
|
||||
|
||||
@Schema(description = "活动结束时间")
|
||||
@ExcelProperty("活动结束时间")
|
||||
private LocalDateTime endTime;
|
||||
|
||||
@Schema(description = "描述", example = "你猜")
|
||||
@ExcelProperty("描述")
|
||||
private String description;
|
||||
|
||||
@Schema(description = "封面图")
|
||||
@ExcelProperty("封面图")
|
||||
private String img;
|
||||
|
||||
@Schema(description = "地点")
|
||||
@ExcelProperty("地点")
|
||||
private String location;
|
||||
|
||||
@Schema(description = "主办方")
|
||||
@ExcelProperty("主办方")
|
||||
private String sponsor;
|
||||
|
||||
@Schema(description = "可抽奖次数")
|
||||
@ExcelProperty("可抽奖次数")
|
||||
private Integer lotteryNum;
|
||||
|
||||
@Schema(description = "用餐状态,0-禁用,1-启用 ", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
@ExcelProperty("用餐状态,0-禁用,1-启用 ")
|
||||
private String reservationStatus;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
@Schema(description = "报名人数")
|
||||
private Integer applyNum;
|
||||
|
||||
@Schema(description = "中奖人数")
|
||||
private Integer awardsNum;
|
||||
|
||||
@Schema(description = "预定人数")
|
||||
private Integer reserveNum;
|
||||
|
||||
@Schema(description = "收入")
|
||||
private BigDecimal income;
|
||||
|
||||
@Schema(description = "是否报名")
|
||||
private Boolean isApply;
|
||||
|
||||
private ActivityRestaurantRespVO activityRestaurantSaveDto;
|
||||
}
|
@ -0,0 +1,53 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activity.vo;
|
||||
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activityawards.vo.ActivityAwardsListDTO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activityrestaurant.vo.ActivityRestaurantSaveDto;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
@Schema(description = "管理后台 - 活动新增/修改 Request VO")
|
||||
@Data
|
||||
public class ActivitySaveReqVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "29158")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "活动名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
|
||||
@NotEmpty(message = "活动名称不能为空")
|
||||
private String activityName;
|
||||
|
||||
@Schema(description = "活动开始时间")
|
||||
private LocalDateTime startTime;
|
||||
|
||||
@Schema(description = "活动结束时间")
|
||||
private LocalDateTime endTime;
|
||||
|
||||
@Schema(description = "描述", example = "你猜")
|
||||
private String description;
|
||||
|
||||
@Schema(description = "封面图")
|
||||
private String img;
|
||||
|
||||
@Schema(description = "地点")
|
||||
private String location;
|
||||
|
||||
@Schema(description = "主办方")
|
||||
private String sponsor;
|
||||
|
||||
@Schema(description = "可抽奖次数")
|
||||
private Integer lotteryNum;
|
||||
|
||||
@Schema(description = "用餐状态,0-禁用,1-启用 ", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
@NotEmpty(message = "用餐状态,0-禁用,1-启用 不能为空")
|
||||
private String reservationStatus;
|
||||
|
||||
@Schema(description = "奖项列表")
|
||||
private List<ActivityAwardsListDTO> activityAwardsList;
|
||||
|
||||
@Schema(description = "用餐设置")
|
||||
private ActivityRestaurantSaveDto activityRestaurantSaveDto;
|
||||
}
|
@ -0,0 +1,102 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activityadddish;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
|
||||
import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activityadddish.vo.ActivityAddDishPageReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activityadddish.vo.ActivityAddDishRespVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activityadddish.vo.ActivityAddDishSaveBatchVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activityadddish.vo.ActivityAddDishSaveReqVO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.activityadddish.ActivityAddDishDO;
|
||||
import cn.iocoder.yudao.module.member.service.activityadddish.ActivityAddDishService;
|
||||
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.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.Valid;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
|
||||
|
||||
@Tag(name = "管理后台 - 活动用餐桌子加菜")
|
||||
@RestController
|
||||
@RequestMapping("/member/activity-add-dish")
|
||||
@Validated
|
||||
public class ActivityAddDishController {
|
||||
|
||||
@Resource
|
||||
private ActivityAddDishService activityAddDishService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建活动用餐桌子加菜")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-add-dish:create')")
|
||||
public CommonResult<Long> createActivityAddDish(@Valid @RequestBody ActivityAddDishSaveReqVO createReqVO) {
|
||||
return success(activityAddDishService.createActivityAddDish(createReqVO));
|
||||
}
|
||||
|
||||
@PostMapping("/createBatch")
|
||||
@Operation(summary = "创建活动用餐桌子加菜批量")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-add-dish:create')")
|
||||
public CommonResult<Boolean> createActivityAddDish(@Valid @RequestBody ActivityAddDishSaveBatchVO createReqVO) {
|
||||
activityAddDishService.createActivityAddDishBatch(createReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新活动用餐桌子加菜")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-add-dish:update')")
|
||||
public CommonResult<Boolean> updateActivityAddDish(@Valid @RequestBody ActivityAddDishSaveReqVO updateReqVO) {
|
||||
activityAddDishService.updateActivityAddDish(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除活动用餐桌子加菜")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-add-dish:delete')")
|
||||
public CommonResult<Boolean> deleteActivityAddDish(@RequestParam("id") Long id) {
|
||||
activityAddDishService.deleteActivityAddDish(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得活动用餐桌子加菜")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-add-dish:query')")
|
||||
public CommonResult<ActivityAddDishRespVO> getActivityAddDish(@RequestParam("id") Long id) {
|
||||
ActivityAddDishDO activityAddDish = activityAddDishService.getActivityAddDish(id);
|
||||
return success(BeanUtils.toBean(activityAddDish, ActivityAddDishRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得活动用餐桌子加菜分页")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-add-dish:query')")
|
||||
public CommonResult<PageResult<ActivityAddDishRespVO>> getActivityAddDishPage(@Valid ActivityAddDishPageReqVO pageReqVO) {
|
||||
PageResult<ActivityAddDishDO> pageResult = activityAddDishService.getActivityAddDishPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, ActivityAddDishRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出活动用餐桌子加菜 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-add-dish:export')")
|
||||
@OperateLog(type = EXPORT)
|
||||
public void exportActivityAddDishExcel(@Valid ActivityAddDishPageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<ActivityAddDishDO> list = activityAddDishService.getActivityAddDishPage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "活动用餐桌子加菜.xls", "数据", ActivityAddDishRespVO.class,
|
||||
BeanUtils.toBean(list, ActivityAddDishRespVO.class));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,44 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activityadddish.vo;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.ToString;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
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 ActivityAddDishPageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "桌子", example = "18726")
|
||||
private Long tableDishId;
|
||||
|
||||
@Schema(description = "序号")
|
||||
private Integer serialNumber;
|
||||
|
||||
@Schema(description = "菜名", example = "赵六")
|
||||
private String dishName;
|
||||
|
||||
@Schema(description = "菜品价格", example = "12669")
|
||||
private BigDecimal dishPrice;
|
||||
|
||||
@Schema(description = "菜品图片")
|
||||
private String dishImg;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
|
||||
@Schema(description = "桌子", example = "18726")
|
||||
private List<Long> tableDishIds;
|
||||
|
||||
}
|
@ -0,0 +1,45 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activityadddish.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 ActivityAddDishRespVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "15656")
|
||||
@ExcelProperty("编号")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "桌子", requiredMode = Schema.RequiredMode.REQUIRED, example = "18726")
|
||||
@ExcelProperty("桌子")
|
||||
private Long tableDishId;
|
||||
|
||||
@Schema(description = "序号")
|
||||
@ExcelProperty("序号")
|
||||
private Integer serialNumber;
|
||||
|
||||
@Schema(description = "菜名", example = "赵六")
|
||||
@ExcelProperty("菜名")
|
||||
private String dishName;
|
||||
|
||||
@Schema(description = "菜品价格", requiredMode = Schema.RequiredMode.REQUIRED, example = "12669")
|
||||
@ExcelProperty("菜品价格")
|
||||
private BigDecimal dishPrice;
|
||||
|
||||
@Schema(description = "菜品图片")
|
||||
@ExcelProperty("菜品图片")
|
||||
private String dishImg;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
}
|
@ -0,0 +1,28 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activityadddish.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
@Schema(description = "管理后台 - 活动用餐桌子加菜新增/修改 Request VO")
|
||||
@Data
|
||||
public class ActivityAddDishSaveBatchVO {
|
||||
|
||||
@Schema(description = "桌子", requiredMode = Schema.RequiredMode.REQUIRED, example = "18726")
|
||||
@NotNull(message = "桌子不能为空")
|
||||
private List<Long> tableDishIds;
|
||||
|
||||
@Schema(description = "菜名", example = "赵六")
|
||||
private String dishName;
|
||||
|
||||
@Schema(description = "菜品价格", requiredMode = Schema.RequiredMode.REQUIRED, example = "12669")
|
||||
@NotNull(message = "菜品价格不能为空")
|
||||
private BigDecimal dishPrice;
|
||||
|
||||
@Schema(description = "菜品图片")
|
||||
private String dishImg;
|
||||
|
||||
}
|
@ -0,0 +1,33 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activityadddish.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@Schema(description = "管理后台 - 活动用餐桌子加菜新增/修改 Request VO")
|
||||
@Data
|
||||
public class ActivityAddDishSaveReqVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "15656")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "桌子", requiredMode = Schema.RequiredMode.REQUIRED, example = "18726")
|
||||
@NotNull(message = "桌子不能为空")
|
||||
private Long tableDishId;
|
||||
|
||||
@Schema(description = "序号")
|
||||
private Integer serialNumber;
|
||||
|
||||
@Schema(description = "菜名", example = "赵六")
|
||||
private String dishName;
|
||||
|
||||
@Schema(description = "菜品价格", requiredMode = Schema.RequiredMode.REQUIRED, example = "12669")
|
||||
@NotNull(message = "菜品价格不能为空")
|
||||
private BigDecimal dishPrice;
|
||||
|
||||
@Schema(description = "菜品图片")
|
||||
private String dishImg;
|
||||
|
||||
}
|
@ -0,0 +1,101 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activityawards;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
|
||||
import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activityawards.vo.ActivityAwardsPageReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activityawards.vo.ActivityAwardsRespVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activityawards.vo.ActivityAwardsSaveReqVO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.activityawards.ActivityAwardsDO;
|
||||
import cn.iocoder.yudao.module.member.service.activityawards.ActivityAwardsService;
|
||||
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.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.Valid;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
|
||||
|
||||
@Tag(name = "管理后台 - 活动奖项")
|
||||
@RestController
|
||||
@RequestMapping("/member/activity-awards")
|
||||
@Validated
|
||||
public class ActivityAwardsController {
|
||||
|
||||
@Resource
|
||||
private ActivityAwardsService activityAwardsService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建活动奖项")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-awards:create')")
|
||||
public CommonResult<Long> createActivityAwards(@Valid @RequestBody ActivityAwardsSaveReqVO createReqVO) {
|
||||
return success(activityAwardsService.createActivityAwards(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新活动奖项")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-awards:update')")
|
||||
public CommonResult<Boolean> updateActivityAwards(@Valid @RequestBody ActivityAwardsSaveReqVO updateReqVO) {
|
||||
activityAwardsService.updateActivityAwards(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除活动奖项")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-awards:delete')")
|
||||
public CommonResult<Boolean> deleteActivityAwards(@RequestParam("id") Long id) {
|
||||
activityAwardsService.deleteActivityAwards(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得活动奖项")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-awards:query')")
|
||||
public CommonResult<ActivityAwardsRespVO> getActivityAwards(@RequestParam("id") Long id) {
|
||||
ActivityAwardsDO activityAwards = activityAwardsService.getActivityAwards(id);
|
||||
return success(BeanUtils.toBean(activityAwards, ActivityAwardsRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得活动奖项分页")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-awards:query')")
|
||||
public CommonResult<PageResult<ActivityAwardsRespVO>> getActivityAwardsPage(@Valid ActivityAwardsPageReqVO pageReqVO) {
|
||||
PageResult<ActivityAwardsDO> pageResult = activityAwardsService.getActivityAwardsPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, ActivityAwardsRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/list")
|
||||
@Operation(summary = "获得活动奖项列表")
|
||||
public CommonResult<List<ActivityAwardsRespVO>> getActivityAwardsList(@Valid ActivityAwardsPageReqVO pageReqVO) {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<ActivityAwardsDO> list = activityAwardsService.getActivityAwardsPage(pageReqVO).getList();
|
||||
return success(BeanUtils.toBean(list, ActivityAwardsRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出活动奖项 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-awards:export')")
|
||||
@OperateLog(type = EXPORT)
|
||||
public void exportActivityAwardsExcel(@Valid ActivityAwardsPageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<ActivityAwardsDO> list = activityAwardsService.getActivityAwardsPage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "活动奖项.xls", "数据", ActivityAwardsRespVO.class,
|
||||
BeanUtils.toBean(list, ActivityAwardsRespVO.class));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activityawards.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
@Schema(description = "管理后台 - 活动奖项新增/修改 Request VO")
|
||||
@Data
|
||||
public class ActivityAwardsListDTO {
|
||||
|
||||
|
||||
@Schema(description = "奖项名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
|
||||
@NotEmpty(message = "奖项名称不能为空")
|
||||
private String awardsName;
|
||||
|
||||
private String limitType;
|
||||
|
||||
@Schema(description = "奖项人数")
|
||||
private Integer awardsNum;
|
||||
|
||||
@Schema(description = "奖品")
|
||||
private String prize;
|
||||
|
||||
@Schema(description = "排序", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "排序不能为空")
|
||||
private Integer sortNum;
|
||||
|
||||
}
|
@ -0,0 +1,41 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activityawards.vo;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.ToString;
|
||||
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 ActivityAwardsPageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "活动id", example = "3061")
|
||||
private Long activityId;
|
||||
|
||||
@Schema(description = "奖项名称", example = "芋艿")
|
||||
private String awardsName;
|
||||
|
||||
private String limitType;
|
||||
|
||||
@Schema(description = "奖项人数")
|
||||
private Integer awardsNum;
|
||||
|
||||
@Schema(description = "奖品")
|
||||
private String prize;
|
||||
|
||||
@Schema(description = "排序")
|
||||
private Integer sortNum;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
|
||||
}
|
@ -0,0 +1,46 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activityawards.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Schema(description = "管理后台 - 活动奖项 Response VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class ActivityAwardsRespVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "13226")
|
||||
@ExcelProperty("编号")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "活动id", requiredMode = Schema.RequiredMode.REQUIRED, example = "3061")
|
||||
@ExcelProperty("活动id")
|
||||
private Long activityId;
|
||||
|
||||
@Schema(description = "奖项名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
|
||||
@ExcelProperty("奖项名称")
|
||||
private String awardsName;
|
||||
|
||||
|
||||
private String limitType;
|
||||
|
||||
@Schema(description = "奖项人数")
|
||||
@ExcelProperty("奖项人数")
|
||||
private Integer awardsNum;
|
||||
|
||||
@Schema(description = "奖品")
|
||||
@ExcelProperty("奖品")
|
||||
private String prize;
|
||||
|
||||
@Schema(description = "排序", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("排序")
|
||||
private Integer sortNum;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
}
|
@ -0,0 +1,37 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activityawards.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
@Schema(description = "管理后台 - 活动奖项新增/修改 Request VO")
|
||||
@Data
|
||||
public class ActivityAwardsSaveReqVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "13226")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "活动id", requiredMode = Schema.RequiredMode.REQUIRED, example = "3061")
|
||||
@NotNull(message = "活动id不能为空")
|
||||
private Long activityId;
|
||||
|
||||
|
||||
private String limitType;
|
||||
|
||||
@Schema(description = "奖项名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
|
||||
@NotEmpty(message = "奖项名称不能为空")
|
||||
private String awardsName;
|
||||
|
||||
@Schema(description = "奖项人数")
|
||||
private Integer awardsNum;
|
||||
|
||||
@Schema(description = "奖品")
|
||||
private String prize;
|
||||
|
||||
@Schema(description = "排序", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "排序不能为空")
|
||||
private Integer sortNum;
|
||||
|
||||
}
|
@ -0,0 +1,101 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activityawardsuser;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
|
||||
import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activityawardsuser.vo.ActivityAwardsUserPageReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activityawardsuser.vo.ActivityAwardsUserRespVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activityawardsuser.vo.ActivityAwardsUserSaveReqVO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.activityawardsuser.ActivityAwardsUserDO;
|
||||
import cn.iocoder.yudao.module.member.service.activityawardsuser.ActivityAwardsUserService;
|
||||
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.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.Valid;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
|
||||
|
||||
@Tag(name = "管理后台 - 活动中奖人员")
|
||||
@RestController
|
||||
@RequestMapping("/member/activity-awards-user")
|
||||
@Validated
|
||||
public class ActivityAwardsUserController {
|
||||
|
||||
@Resource
|
||||
private ActivityAwardsUserService activityAwardsUserService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建活动中奖人员")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-awards-user:create')")
|
||||
public CommonResult<Long> createActivityAwardsUser(@Valid @RequestBody ActivityAwardsUserSaveReqVO createReqVO) {
|
||||
return success(activityAwardsUserService.createActivityAwardsUser(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新活动中奖人员")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-awards-user:update')")
|
||||
public CommonResult<Boolean> updateActivityAwardsUser(@Valid @RequestBody ActivityAwardsUserSaveReqVO updateReqVO) {
|
||||
activityAwardsUserService.updateActivityAwardsUser(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除活动中奖人员")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-awards-user:delete')")
|
||||
public CommonResult<Boolean> deleteActivityAwardsUser(@RequestParam("id") Long id) {
|
||||
activityAwardsUserService.deleteActivityAwardsUser(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得活动中奖人员")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-awards-user:query')")
|
||||
public CommonResult<ActivityAwardsUserRespVO> getActivityAwardsUser(@RequestParam("id") Long id) {
|
||||
ActivityAwardsUserDO activityAwardsUser = activityAwardsUserService.getActivityAwardsUser(id);
|
||||
return success(BeanUtils.toBean(activityAwardsUser, ActivityAwardsUserRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得活动中奖人员分页")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-awards-user:query')")
|
||||
public CommonResult<PageResult<ActivityAwardsUserRespVO>> getActivityAwardsUserPage(@Valid ActivityAwardsUserPageReqVO pageReqVO) {
|
||||
PageResult<ActivityAwardsUserDO> pageResult = activityAwardsUserService.getActivityAwardsUserPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, ActivityAwardsUserRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/JoinPage")
|
||||
@Operation(summary = "获得活动中奖人员分页")
|
||||
public CommonResult<PageResult<ActivityAwardsUserRespVO>> getActivityAwardsUserJoinPage(@Valid ActivityAwardsUserPageReqVO pageReqVO) {
|
||||
return success(activityAwardsUserService.getActivityAwardsUserJoinPage(pageReqVO));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出活动中奖人员 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-awards-user:export')")
|
||||
@OperateLog(type = EXPORT)
|
||||
public void exportActivityAwardsUserExcel(@Valid ActivityAwardsUserPageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<ActivityAwardsUserDO> list = activityAwardsUserService.getActivityAwardsUserPage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "活动中奖人员.xls", "数据", ActivityAwardsUserRespVO.class,
|
||||
BeanUtils.toBean(list, ActivityAwardsUserRespVO.class));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activityawardsuser.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
@Schema(description = "管理后台 - 活动参加人员 Response VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class ActivityAwardsUserCountVO {
|
||||
|
||||
|
||||
@Schema(description = "活动id")
|
||||
private Long activityId;
|
||||
|
||||
@Schema(description = "中奖人数")
|
||||
private Integer awardsNum= 0;
|
||||
|
||||
}
|
@ -0,0 +1,38 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activityawardsuser.vo;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.ToString;
|
||||
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 ActivityAwardsUserPageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "活动id", example = "8386")
|
||||
private Long activityId;
|
||||
|
||||
@Schema(description = "用户id", example = "19931")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "电话")
|
||||
private String mobile;
|
||||
|
||||
@Schema(description = "奖品id", example = "3358")
|
||||
private Long awardsId;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
|
||||
|
||||
private String awardsStatus;
|
||||
}
|
@ -0,0 +1,58 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activityawardsuser.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Schema(description = "管理后台 - 活动中奖人员 Response VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class ActivityAwardsUserRespVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "32607")
|
||||
@ExcelProperty("编号")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "活动id", requiredMode = Schema.RequiredMode.REQUIRED, example = "8386")
|
||||
@ExcelProperty("活动id")
|
||||
private Long activityId;
|
||||
|
||||
@Schema(description = "用户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "19931")
|
||||
@ExcelProperty("用户id")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "电话")
|
||||
@ExcelProperty("电话")
|
||||
private String mobile;
|
||||
|
||||
private String nickName;
|
||||
|
||||
private String avatar;
|
||||
|
||||
/**
|
||||
* 领奖状态(0-未领奖,1-已领奖,2-已过期)
|
||||
*/
|
||||
private String awardsStatus;
|
||||
|
||||
@Schema(description = "奖品id", example = "3358")
|
||||
@ExcelProperty("奖品id")
|
||||
private Long awardsId;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 奖项名称
|
||||
*/
|
||||
private String awardsName;
|
||||
|
||||
/**
|
||||
* 奖品
|
||||
*/
|
||||
private String prize;
|
||||
|
||||
}
|
@ -0,0 +1,29 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activityawardsuser.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 ActivityAwardsUserSaveReqVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "32607")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "活动id", requiredMode = Schema.RequiredMode.REQUIRED, example = "8386")
|
||||
@NotNull(message = "活动id不能为空")
|
||||
private Long activityId;
|
||||
|
||||
@Schema(description = "用户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "19931")
|
||||
@NotNull(message = "用户id不能为空")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "电话")
|
||||
private String mobile;
|
||||
|
||||
@Schema(description = "奖品id", example = "3358")
|
||||
private Long awardsId;
|
||||
|
||||
}
|
@ -0,0 +1,93 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activitymenu;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
|
||||
import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activitymenu.vo.ActivityMenuPageReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activitymenu.vo.ActivityMenuRespVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activitymenu.vo.ActivityMenuSaveReqVO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.activitymenu.ActivityMenuDO;
|
||||
import cn.iocoder.yudao.module.member.service.activitymenu.ActivityMenuService;
|
||||
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.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.Valid;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
|
||||
|
||||
@Tag(name = "管理后台 - 活动套餐")
|
||||
@RestController
|
||||
@RequestMapping("/member/activity-menu")
|
||||
@Validated
|
||||
public class ActivityMenuController {
|
||||
|
||||
@Resource
|
||||
private ActivityMenuService activityMenuService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建活动套餐")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-menu:create')")
|
||||
public CommonResult<Long> createActivityMenu(@Valid @RequestBody ActivityMenuSaveReqVO createReqVO) {
|
||||
return success(activityMenuService.createActivityMenu(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新活动套餐")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-menu:update')")
|
||||
public CommonResult<Boolean> updateActivityMenu(@Valid @RequestBody ActivityMenuSaveReqVO updateReqVO) {
|
||||
activityMenuService.updateActivityMenu(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除活动套餐")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-menu:delete')")
|
||||
public CommonResult<Boolean> deleteActivityMenu(@RequestParam("id") Long id) {
|
||||
activityMenuService.deleteActivityMenu(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得活动套餐")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-menu:query')")
|
||||
public CommonResult<ActivityMenuRespVO> getActivityMenu(@RequestParam("id") Long id) {
|
||||
ActivityMenuDO activityMenu = activityMenuService.getActivityMenu(id);
|
||||
return success(BeanUtils.toBean(activityMenu, ActivityMenuRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得活动套餐分页")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-menu:query')")
|
||||
public CommonResult<PageResult<ActivityMenuRespVO>> getActivityMenuPage(@Valid ActivityMenuPageReqVO pageReqVO) {
|
||||
PageResult<ActivityMenuDO> pageResult = activityMenuService.getActivityMenuPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, ActivityMenuRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出活动套餐 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-menu:export')")
|
||||
@OperateLog(type = EXPORT)
|
||||
public void exportActivityMenuExcel(@Valid ActivityMenuPageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<ActivityMenuDO> list = activityMenuService.getActivityMenuPage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "活动套餐.xls", "数据", ActivityMenuRespVO.class,
|
||||
BeanUtils.toBean(list, ActivityMenuRespVO.class));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activitymenu.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 ActivityMenuPageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "套餐名字", example = "芋艿")
|
||||
private String menuName;
|
||||
|
||||
@Schema(description = "套餐详情")
|
||||
private String detail;
|
||||
|
||||
@Schema(description = "套餐价格", example = "895")
|
||||
private BigDecimal dishPrice;
|
||||
|
||||
@Schema(description = "商店ID", example = "15270")
|
||||
private Long merchantId;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
|
||||
}
|
@ -0,0 +1,41 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activitymenu.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 ActivityMenuRespVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "7158")
|
||||
@ExcelProperty("编号")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "套餐名字", example = "芋艿")
|
||||
@ExcelProperty("套餐名字")
|
||||
private String menuName;
|
||||
|
||||
@Schema(description = "套餐详情")
|
||||
@ExcelProperty("套餐详情")
|
||||
private String detail;
|
||||
|
||||
@Schema(description = "套餐价格", requiredMode = Schema.RequiredMode.REQUIRED, example = "895")
|
||||
@ExcelProperty("套餐价格")
|
||||
private BigDecimal dishPrice;
|
||||
|
||||
@Schema(description = "商店ID", example = "15270")
|
||||
@ExcelProperty("商店ID")
|
||||
private Long merchantId;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
}
|
@ -0,0 +1,29 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activitymenu.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@Schema(description = "管理后台 - 活动套餐新增/修改 Request VO")
|
||||
@Data
|
||||
public class ActivityMenuSaveReqVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "7158")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "套餐名字", example = "芋艿")
|
||||
private String menuName;
|
||||
|
||||
@Schema(description = "套餐详情")
|
||||
private String detail;
|
||||
|
||||
@Schema(description = "套餐价格", requiredMode = Schema.RequiredMode.REQUIRED, example = "895")
|
||||
@NotNull(message = "套餐价格不能为空")
|
||||
private BigDecimal dishPrice;
|
||||
|
||||
@Schema(description = "商店ID", example = "15270")
|
||||
private Long merchantId;
|
||||
|
||||
}
|
@ -0,0 +1,102 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activitymerchant;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
|
||||
import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activitymerchant.vo.ActivityMerchantPageReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activitymerchant.vo.ActivityMerchantRespVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activitymerchant.vo.ActivityMerchantSaveReqVO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.activitymerchant.ActivityMerchantDO;
|
||||
import cn.iocoder.yudao.module.member.service.activitymerchant.ActivityMerchantService;
|
||||
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.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.Valid;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
|
||||
|
||||
@Tag(name = "管理后台 - 活动商家")
|
||||
@RestController
|
||||
@RequestMapping("/member/activity-merchant")
|
||||
@Validated
|
||||
public class ActivityMerchantController {
|
||||
|
||||
@Resource
|
||||
private ActivityMerchantService activityMerchantService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建活动商家")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-merchant:create')")
|
||||
public CommonResult<Long> createActivityMerchant(@Valid @RequestBody ActivityMerchantSaveReqVO createReqVO) {
|
||||
return success(activityMerchantService.createActivityMerchant(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新活动商家")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-merchant:update')")
|
||||
public CommonResult<Boolean> updateActivityMerchant(@Valid @RequestBody ActivityMerchantSaveReqVO updateReqVO) {
|
||||
activityMerchantService.updateActivityMerchant(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除活动商家")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-merchant:delete')")
|
||||
public CommonResult<Boolean> deleteActivityMerchant(@RequestParam("id") Long id) {
|
||||
activityMerchantService.deleteActivityMerchant(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得活动商家")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-merchant:query')")
|
||||
public CommonResult<ActivityMerchantRespVO> getActivityMerchant(@RequestParam("id") Long id) {
|
||||
ActivityMerchantDO activityMerchant = activityMerchantService.getActivityMerchant(id);
|
||||
return success(BeanUtils.toBean(activityMerchant, ActivityMerchantRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得活动商家分页")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-merchant:query')")
|
||||
public CommonResult<PageResult<ActivityMerchantRespVO>> getActivityMerchantPage(@Valid ActivityMerchantPageReqVO pageReqVO) {
|
||||
PageResult<ActivityMerchantDO> pageResult = activityMerchantService.getActivityMerchantPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, ActivityMerchantRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/list")
|
||||
@Operation(summary = "获得活动商家列表")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-merchant:query')")
|
||||
public CommonResult<List<ActivityMerchantRespVO>> getActivityMerchantList(@Valid ActivityMerchantPageReqVO pageReqVO) {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<ActivityMerchantDO> list = activityMerchantService.getActivityMerchantPage(pageReqVO).getList();
|
||||
return success(BeanUtils.toBean(list, ActivityMerchantRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出活动商家 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-merchant:export')")
|
||||
@OperateLog(type = EXPORT)
|
||||
public void exportActivityMerchantExcel(@Valid ActivityMerchantPageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<ActivityMerchantDO> list = activityMerchantService.getActivityMerchantPage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "活动商家.xls", "数据", ActivityMerchantRespVO.class,
|
||||
BeanUtils.toBean(list, ActivityMerchantRespVO.class));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activitymerchant.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 ActivityMerchantPageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "商家名", example = "赵六")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "联系人")
|
||||
private String person;
|
||||
|
||||
@Schema(description = "电话")
|
||||
private String mobile;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
|
||||
}
|
@ -0,0 +1,36 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activitymerchant.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 ActivityMerchantRespVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "16185")
|
||||
@ExcelProperty("编号")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "商家名", example = "赵六")
|
||||
@ExcelProperty("商家名")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "联系人")
|
||||
@ExcelProperty("联系人")
|
||||
private String person;
|
||||
|
||||
@Schema(description = "电话")
|
||||
@ExcelProperty("电话")
|
||||
private String mobile;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activitymerchant.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 ActivityMerchantSaveReqVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "16185")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "商家名", example = "赵六")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "联系人")
|
||||
private String person;
|
||||
|
||||
@Schema(description = "电话")
|
||||
private String mobile;
|
||||
|
||||
}
|
@ -0,0 +1,113 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activitypay;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
|
||||
import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activitypay.vo.*;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.activitypay.ActivityPayDO;
|
||||
import cn.iocoder.yudao.module.member.service.activitypay.ActivityPayService;
|
||||
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.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.Valid;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
|
||||
|
||||
@Tag(name = "管理后台 - 活动付款")
|
||||
@RestController
|
||||
@RequestMapping("/member/activity-pay")
|
||||
@Validated
|
||||
public class ActivityPayController {
|
||||
|
||||
@Resource
|
||||
private ActivityPayService activityPayService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建活动付款")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-pay:create')")
|
||||
public CommonResult<Long> createActivityPay(@Valid @RequestBody ActivityPaySaveReqVO createReqVO) {
|
||||
return success(activityPayService.createActivityPay(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新活动付款")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-pay:update')")
|
||||
public CommonResult<Boolean> updateActivityPay(@Valid @RequestBody ActivityPaySaveReqVO updateReqVO) {
|
||||
activityPayService.updateActivityPay(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除活动付款")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-pay:delete')")
|
||||
public CommonResult<Boolean> deleteActivityPay(@RequestParam("id") Long id) {
|
||||
activityPayService.deleteActivityPay(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得活动付款")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-pay:query')")
|
||||
public CommonResult<ActivityPayRespVO> getActivityPay(@RequestParam("id") Long id) {
|
||||
ActivityPayDO activityPay = activityPayService.getActivityPay(id);
|
||||
return success(BeanUtils.toBean(activityPay, ActivityPayRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得活动付款分页")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-pay:query')")
|
||||
public CommonResult<PageResult<ActivityPayRespVO>> getActivityPayPage(@Valid ActivityPayPageReqVO pageReqVO) {
|
||||
PageResult<ActivityPayDO> pageResult = activityPayService.getActivityPayPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, ActivityPayRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/pageNew")
|
||||
@Operation(summary = "获得活动付款分页")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-pay:query')")
|
||||
public CommonResult<PageResult<ActivityPayPageRVO>> getActivityPayPageNew(@Valid ActivityPayPageVO pageReqVO) {
|
||||
PageResult<ActivityPayPageRVO> pageResult = activityPayService.getPage(pageReqVO);
|
||||
return success(pageResult);
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出活动付款 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-pay:export')")
|
||||
@OperateLog(type = EXPORT)
|
||||
public void exportActivityPayExcel(@Valid ActivityPayPageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<ActivityPayDO> list = activityPayService.getActivityPayPage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "活动付款.xls", "数据", ActivityPayRespVO.class,
|
||||
BeanUtils.toBean(list, ActivityPayRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/export-excelNew")
|
||||
@Operation(summary = "导出活动付款 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-pay:export')")
|
||||
@OperateLog(type = EXPORT)
|
||||
public void exportActivityPayExcelNew(@Valid ActivityPayPageVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<ActivityPayPageRVO> list = activityPayService.getPage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "活动付款.xls", "数据", ActivityPayPageRVO.class,
|
||||
list);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,21 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activitypay.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@Schema(description = "管理后台 - 活动参加人员 Response VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class ActivityPayCountVO {
|
||||
|
||||
|
||||
@Schema(description = "活动id")
|
||||
private Long activityId;
|
||||
|
||||
@Schema(description = "已收钱款")
|
||||
private BigDecimal income= BigDecimal.ZERO;
|
||||
|
||||
}
|
@ -0,0 +1,52 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activitypay.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnore;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.ToString;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Schema(description = "管理后台 - 活动付款分页 Request VO")
|
||||
@Data
|
||||
@ToString(callSuper = true)
|
||||
public class ActivityPayPageRVO {
|
||||
|
||||
|
||||
@ExcelProperty("编号")
|
||||
private Long id;
|
||||
|
||||
@ExcelProperty("活动名")
|
||||
private String activityName;
|
||||
|
||||
@ExcelProperty("商户名称")
|
||||
private String name;
|
||||
|
||||
@ExcelProperty("桌号")
|
||||
private String serialNumbers;
|
||||
|
||||
@ExcelProperty("价格")
|
||||
private BigDecimal price;
|
||||
|
||||
@ExcelProperty("用户昵称")
|
||||
private String nickName;
|
||||
|
||||
@ExcelProperty("电话")
|
||||
private String mobile;
|
||||
|
||||
@ExcelProperty("预约就餐时间")
|
||||
private String reserveTime;
|
||||
|
||||
@ExcelIgnore
|
||||
private String voucher;
|
||||
|
||||
@ExcelProperty("代金券使用数量")
|
||||
private int voucherNum;
|
||||
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,47 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activitypay.vo;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.ToString;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
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 ActivityPayPageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "活动id", example = "27391")
|
||||
private Long activityId;
|
||||
|
||||
@Schema(description = "桌号")
|
||||
private String serialNumbers;
|
||||
|
||||
@Schema(description = "价格", example = "7717")
|
||||
private BigDecimal price;
|
||||
|
||||
@Schema(description = "用户id", example = "5313")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
|
||||
@Schema(description = "序号")
|
||||
private List<Integer> serialNumberList;
|
||||
|
||||
@Schema(description = "是否查加菜")
|
||||
private Boolean isDish = false;
|
||||
|
||||
private Long merchantId;
|
||||
|
||||
private String status;
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activitypay.vo;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.ToString;
|
||||
|
||||
@Schema(description = "管理后台 - 活动付款分页 Request VO")
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
public class ActivityPayPageVO extends PageParam {
|
||||
|
||||
|
||||
|
||||
@Schema(description = "是否排除加菜")
|
||||
private Boolean isDish = false;
|
||||
|
||||
private Long merchantId;
|
||||
|
||||
private String reserveTime;
|
||||
}
|
@ -0,0 +1,41 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activitypay.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 ActivityPayRespVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "24970")
|
||||
@ExcelProperty("编号")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "活动id", requiredMode = Schema.RequiredMode.REQUIRED, example = "27391")
|
||||
@ExcelProperty("活动id")
|
||||
private Long activityId;
|
||||
|
||||
@Schema(description = "桌号")
|
||||
@ExcelProperty("桌号")
|
||||
private String serialNumbers;
|
||||
|
||||
@Schema(description = "价格", requiredMode = Schema.RequiredMode.REQUIRED, example = "7717")
|
||||
@ExcelProperty("价格")
|
||||
private BigDecimal price;
|
||||
|
||||
@Schema(description = "用户id", example = "5313")
|
||||
@ExcelProperty("用户id")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
}
|
@ -0,0 +1,47 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activitypay.vo;
|
||||
|
||||
import cn.iocoder.yudao.module.member.api.activitypay.dto.MenuDTO;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
@Schema(description = "管理后台 - 活动付款新增/修改 Request VO")
|
||||
@Data
|
||||
public class ActivityPaySaveReqVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "24970")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "活动id", requiredMode = Schema.RequiredMode.REQUIRED, example = "27391")
|
||||
@NotNull(message = "活动id不能为空")
|
||||
private Long activityId;
|
||||
|
||||
@Schema(description = "桌号")
|
||||
private String serialNumbers;
|
||||
|
||||
@Schema(description = "价格", requiredMode = Schema.RequiredMode.REQUIRED, example = "7717")
|
||||
@NotNull(message = "价格不能为空")
|
||||
private BigDecimal price;
|
||||
|
||||
@Schema(description = "用户id", example = "5313")
|
||||
private Long userId;
|
||||
|
||||
private String status;
|
||||
|
||||
private String reserveTime;
|
||||
|
||||
private String dish;
|
||||
|
||||
private String diningPeriod;
|
||||
|
||||
private String voucherId;
|
||||
|
||||
private String transactionId;
|
||||
|
||||
private String openid;
|
||||
|
||||
private List<MenuDTO> menu;
|
||||
}
|
@ -0,0 +1,100 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activitypaytable;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
|
||||
import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activitypaytable.vo.ActivityPayTablePageReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activitypaytable.vo.ActivityPayTableRespVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activitypaytable.vo.ActivityPayTableSaveReqVO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.activitypaytable.ActivityPayTableDO;
|
||||
import cn.iocoder.yudao.module.member.service.activitypaytable.ActivityPayTableService;
|
||||
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.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.Valid;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
|
||||
|
||||
@Tag(name = "管理后台 - 活动付款")
|
||||
@RestController
|
||||
@RequestMapping("/member/activity-pay-table")
|
||||
@Validated
|
||||
public class ActivityPayTableController {
|
||||
|
||||
@Resource
|
||||
private ActivityPayTableService activityPayTableService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建活动付款")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-pay-table:create')")
|
||||
public CommonResult<Long> createActivityPayTable(@Valid @RequestBody ActivityPayTableSaveReqVO createReqVO) {
|
||||
return success(activityPayTableService.createActivityPayTable(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新活动付款")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-pay-table:update')")
|
||||
public CommonResult<Boolean> updateActivityPayTable(@Valid @RequestBody ActivityPayTableSaveReqVO updateReqVO) {
|
||||
activityPayTableService.updateActivityPayTable(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除活动付款")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-pay-table:delete')")
|
||||
public CommonResult<Boolean> deleteActivityPayTable(@RequestParam("id") Long id) {
|
||||
activityPayTableService.deleteActivityPayTable(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得活动付款")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-pay-table:query')")
|
||||
public CommonResult<ActivityPayTableRespVO> getActivityPayTable(@RequestParam("id") Long id) {
|
||||
ActivityPayTableDO activityPayTable = activityPayTableService.getActivityPayTable(id);
|
||||
return success(BeanUtils.toBean(activityPayTable, ActivityPayTableRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得活动付款分页")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-pay-table:query')")
|
||||
public CommonResult<PageResult<ActivityPayTableRespVO>> getActivityPayTablePage(@Valid ActivityPayTablePageReqVO pageReqVO) {
|
||||
PageResult<ActivityPayTableDO> pageResult = activityPayTableService.getActivityPayTablePage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, ActivityPayTableRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/groupPage")
|
||||
@Operation(summary = "获得活动付款分页")
|
||||
public CommonResult<PageResult<ActivityPayTableRespVO>> getActivityPayTableGroupPage(@Valid ActivityPayTablePageReqVO pageReqVO) {
|
||||
PageResult<ActivityPayTableRespVO> pageResult = activityPayTableService. getActivityPayTableGroupPage(pageReqVO);
|
||||
return success(pageResult);
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出活动付款 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-pay-table:export')")
|
||||
@OperateLog(type = EXPORT)
|
||||
public void exportActivityPayTableExcel(@Valid ActivityPayTablePageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<ActivityPayTableDO> list = activityPayTableService.getActivityPayTablePage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "活动付款.xls", "数据", ActivityPayTableRespVO.class,
|
||||
BeanUtils.toBean(list, ActivityPayTableRespVO.class));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,39 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activitypaytable.vo;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.ToString;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
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 ActivityPayTablePageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "活动id", example = "11464")
|
||||
private Long activityId;
|
||||
|
||||
@Schema(description = "桌号")
|
||||
private String serialNumbers;
|
||||
|
||||
@Schema(description = "价格", example = "18695")
|
||||
private BigDecimal price;
|
||||
|
||||
@Schema(description = "用户id", example = "19527")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
|
||||
|
||||
private Long merchantId;
|
||||
}
|
@ -0,0 +1,43 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activitypaytable.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Schema(description = "管理后台 - 活动付款 Response VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class ActivityPayTableRespVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2305")
|
||||
@ExcelProperty("编号")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "活动id", requiredMode = Schema.RequiredMode.REQUIRED, example = "11464")
|
||||
@ExcelProperty("活动id")
|
||||
private Long activityId;
|
||||
|
||||
@Schema(description = "桌号")
|
||||
@ExcelProperty("桌号")
|
||||
private String serialNumbers;
|
||||
|
||||
@Schema(description = "价格", requiredMode = Schema.RequiredMode.REQUIRED, example = "18695")
|
||||
@ExcelProperty("价格")
|
||||
private BigDecimal price;
|
||||
|
||||
@Schema(description = "用户id", example = "19527")
|
||||
@ExcelProperty("用户id")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
private BigDecimal allPrice;
|
||||
|
||||
private String name;
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activitypaytable.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import javax.validation.constraints.*;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@Schema(description = "管理后台 - 活动付款新增/修改 Request VO")
|
||||
@Data
|
||||
public class ActivityPayTableSaveReqVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2305")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "活动id", requiredMode = Schema.RequiredMode.REQUIRED, example = "11464")
|
||||
@NotNull(message = "活动id不能为空")
|
||||
private Long activityId;
|
||||
|
||||
@Schema(description = "桌号")
|
||||
private String serialNumbers;
|
||||
|
||||
@Schema(description = "价格", requiredMode = Schema.RequiredMode.REQUIRED, example = "18695")
|
||||
@NotNull(message = "价格不能为空")
|
||||
private BigDecimal price;
|
||||
|
||||
@Schema(description = "用户id", example = "19527")
|
||||
private Long userId;
|
||||
|
||||
}
|
@ -0,0 +1,95 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activityrestaurant;
|
||||
|
||||
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.constraints.*;
|
||||
import javax.validation.*;
|
||||
import javax.servlet.http.*;
|
||||
import java.util.*;
|
||||
import java.io.IOException;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
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.*;
|
||||
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activityrestaurant.vo.*;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.activityrestaurant.ActivityRestaurantDO;
|
||||
import cn.iocoder.yudao.module.member.service.activityrestaurant.ActivityRestaurantService;
|
||||
|
||||
@Tag(name = "管理后台 - 活动用餐")
|
||||
@RestController
|
||||
@RequestMapping("/member/activity-restaurant")
|
||||
@Validated
|
||||
public class ActivityRestaurantController {
|
||||
|
||||
@Resource
|
||||
private ActivityRestaurantService activityRestaurantService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建活动用餐")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-restaurant:create')")
|
||||
public CommonResult<Long> createActivityRestaurant(@Valid @RequestBody ActivityRestaurantSaveReqVO createReqVO) {
|
||||
return success(activityRestaurantService.createActivityRestaurant(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新活动用餐")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-restaurant:update')")
|
||||
public CommonResult<Boolean> updateActivityRestaurant(@Valid @RequestBody ActivityRestaurantSaveReqVO updateReqVO) {
|
||||
activityRestaurantService.updateActivityRestaurant(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除活动用餐")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-restaurant:delete')")
|
||||
public CommonResult<Boolean> deleteActivityRestaurant(@RequestParam("id") Long id) {
|
||||
activityRestaurantService.deleteActivityRestaurant(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得活动用餐")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-restaurant:query')")
|
||||
public CommonResult<ActivityRestaurantRespVO> getActivityRestaurant(@RequestParam("id") Long id) {
|
||||
ActivityRestaurantDO activityRestaurant = activityRestaurantService.getActivityRestaurant(id);
|
||||
return success(BeanUtils.toBean(activityRestaurant, ActivityRestaurantRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得活动用餐分页")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-restaurant:query')")
|
||||
public CommonResult<PageResult<ActivityRestaurantRespVO>> getActivityRestaurantPage(@Valid ActivityRestaurantPageReqVO pageReqVO) {
|
||||
PageResult<ActivityRestaurantDO> pageResult = activityRestaurantService.getActivityRestaurantPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, ActivityRestaurantRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出活动用餐 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-restaurant:export')")
|
||||
@OperateLog(type = EXPORT)
|
||||
public void exportActivityRestaurantExcel(@Valid ActivityRestaurantPageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<ActivityRestaurantDO> list = activityRestaurantService.getActivityRestaurantPage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "活动用餐.xls", "数据", ActivityRestaurantRespVO.class,
|
||||
BeanUtils.toBean(list, ActivityRestaurantRespVO.class));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,41 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activityrestaurant.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 ActivityRestaurantPageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "活动id", example = "17921")
|
||||
private Long activityId;
|
||||
|
||||
@Schema(description = "总桌数")
|
||||
private Integer totalTable;
|
||||
|
||||
@Schema(description = "每桌人数")
|
||||
private Integer tableNum;
|
||||
|
||||
@Schema(description = "价格", example = "11086")
|
||||
private BigDecimal price;
|
||||
|
||||
@Schema(description = "菜谱图片", example = "https://www.iocoder.cn")
|
||||
private String dishUrl;
|
||||
|
||||
@Schema(description = "描述", example = "随便")
|
||||
private String description;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
|
||||
}
|
@ -0,0 +1,49 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activityrestaurant.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 ActivityRestaurantRespVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "32692")
|
||||
@ExcelProperty("编号")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "活动id", requiredMode = Schema.RequiredMode.REQUIRED, example = "17921")
|
||||
@ExcelProperty("活动id")
|
||||
private Long activityId;
|
||||
|
||||
@Schema(description = "总桌数")
|
||||
@ExcelProperty("总桌数")
|
||||
private Integer totalTable;
|
||||
|
||||
@Schema(description = "每桌人数")
|
||||
@ExcelProperty("每桌人数")
|
||||
private Integer tableNum;
|
||||
|
||||
@Schema(description = "价格", requiredMode = Schema.RequiredMode.REQUIRED, example = "11086")
|
||||
@ExcelProperty("价格")
|
||||
private BigDecimal price;
|
||||
|
||||
@Schema(description = "菜谱图片", example = "https://www.iocoder.cn")
|
||||
@ExcelProperty("菜谱图片")
|
||||
private String dishUrl;
|
||||
|
||||
@Schema(description = "描述", example = "随便")
|
||||
@ExcelProperty("描述")
|
||||
private String description;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
}
|
@ -0,0 +1,33 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activityrestaurant.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@Schema(description = "管理后台 - 活动用餐新增/修改 Request VO")
|
||||
@Data
|
||||
public class ActivityRestaurantSaveDto {
|
||||
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "32692")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "总桌数")
|
||||
private Integer totalTable;
|
||||
|
||||
@Schema(description = "每桌人数")
|
||||
private Integer tableNum;
|
||||
|
||||
@Schema(description = "价格", requiredMode = Schema.RequiredMode.REQUIRED, example = "11086")
|
||||
@NotNull(message = "价格不能为空")
|
||||
private BigDecimal price;
|
||||
|
||||
@Schema(description = "菜谱图片", example = "https://www.iocoder.cn")
|
||||
private String dishUrl;
|
||||
|
||||
@Schema(description = "描述", example = "随便")
|
||||
private String description;
|
||||
|
||||
}
|
@ -0,0 +1,36 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activityrestaurant.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import javax.validation.constraints.*;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@Schema(description = "管理后台 - 活动用餐新增/修改 Request VO")
|
||||
@Data
|
||||
public class ActivityRestaurantSaveReqVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "32692")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "活动id", requiredMode = Schema.RequiredMode.REQUIRED, example = "17921")
|
||||
@NotNull(message = "活动id不能为空")
|
||||
private Long activityId;
|
||||
|
||||
@Schema(description = "总桌数")
|
||||
private Integer totalTable;
|
||||
|
||||
@Schema(description = "每桌人数")
|
||||
private Integer tableNum;
|
||||
|
||||
@Schema(description = "价格", requiredMode = Schema.RequiredMode.REQUIRED, example = "11086")
|
||||
@NotNull(message = "价格不能为空")
|
||||
private BigDecimal price;
|
||||
|
||||
@Schema(description = "菜谱图片", example = "https://www.iocoder.cn")
|
||||
private String dishUrl;
|
||||
|
||||
@Schema(description = "描述", example = "随便")
|
||||
private String description;
|
||||
|
||||
}
|
@ -0,0 +1,141 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activitytable;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
|
||||
import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activitytable.vo.*;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.activitymerchant.ActivityMerchantDO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.activitytable.ActivityTableDO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.activitytabledish.ActivityTableDishDO;
|
||||
import cn.iocoder.yudao.module.member.service.activitymerchant.ActivityMerchantService;
|
||||
import cn.iocoder.yudao.module.member.service.activitytable.ActivityTableService;
|
||||
import cn.iocoder.yudao.module.member.service.activitytabledish.ActivityTableDishService;
|
||||
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.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.Valid;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
|
||||
|
||||
@Tag(name = "管理后台 - 活动用餐桌子")
|
||||
@RestController
|
||||
@RequestMapping("/member/activity-table")
|
||||
@Validated
|
||||
public class ActivityTableController {
|
||||
|
||||
@Resource
|
||||
private ActivityTableService activityTableService;
|
||||
@Resource
|
||||
private ActivityTableDishService activityTableDishService;
|
||||
@Resource
|
||||
private ActivityMerchantService activityMerchantService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建活动用餐桌子")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-table:create')")
|
||||
public CommonResult<Long> createActivityTable(@Valid @RequestBody ActivityTableSaveReqVO createReqVO) {
|
||||
return success(activityTableService.createActivityTable(createReqVO));
|
||||
}
|
||||
|
||||
@PostMapping("/createFalse")
|
||||
@Operation(summary = "创建活动用餐桌子")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-table:create')")
|
||||
public CommonResult<Long> createActivityTable(@Valid @RequestBody ActivityTableCreateVO createReqVO) {
|
||||
return success(activityTableService.createActivityTableFalse(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新活动用餐桌子")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-table:update')")
|
||||
public CommonResult<Boolean> updateActivityTable(@Valid @RequestBody ActivityTableSaveReqVO updateReqVO) {
|
||||
activityTableService.updateActivityTable(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除活动用餐桌子")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-table:delete')")
|
||||
public CommonResult<Boolean> deleteActivityTable(@RequestParam("id") Long id) {
|
||||
activityTableService.deleteActivityTable(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得活动用餐桌子")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-table:query')")
|
||||
public CommonResult<ActivityTableRespVO> getActivityTable(@RequestParam("id") Long id) {
|
||||
ActivityTableDO activityTable = activityTableService.getActivityTable(id);
|
||||
return success(BeanUtils.toBean(activityTable, ActivityTableRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得活动用餐桌子分页")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-table:query')")
|
||||
public CommonResult<PageResult<ActivityTableRespVO>> getActivityTablePage(@Valid ActivityTablePageReqVO pageReqVO) {
|
||||
if(pageReqVO.getMerchantId() != null){
|
||||
List<ActivityTableDishDO> listByActivityIdAndMerchantId = activityTableDishService.getListByActivityIdAndMerchantId(pageReqVO.getActivityId(), pageReqVO.getMerchantId());
|
||||
if (listByActivityIdAndMerchantId.isEmpty()) {
|
||||
return success(PageResult.empty());
|
||||
}
|
||||
List<Integer> collect = listByActivityIdAndMerchantId.stream().map(ActivityTableDishDO::getSerialNumber).collect(Collectors.toList());
|
||||
pageReqVO.setSerialNumbers(collect);
|
||||
}
|
||||
|
||||
|
||||
PageResult<ActivityTableDO> pageResult = activityTableService.getActivityTablePage(pageReqVO);
|
||||
PageResult<ActivityTableRespVO> bean = BeanUtils.toBean(pageResult, ActivityTableRespVO.class);
|
||||
bean.getList().forEach(item -> {
|
||||
Long merchantIdByActivityIdAndSerialNumber = activityTableDishService.getMerchantIdByActivityIdAndSerialNumber(item.getActivityId(), item.getSerialNumber());
|
||||
if(merchantIdByActivityIdAndSerialNumber != null){
|
||||
ActivityMerchantDO activityMerchant = activityMerchantService.getActivityMerchant(merchantIdByActivityIdAndSerialNumber);
|
||||
item.setName(activityMerchant.getName());
|
||||
}
|
||||
});
|
||||
return success(bean);
|
||||
}
|
||||
|
||||
@GetMapping("/list")
|
||||
@Operation(summary = "获得所有活动用餐桌子")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-table:query')")
|
||||
public CommonResult<List<ActivityTableRespVO>> getActivityTableList(@Valid ActivityTablePageReqVO pageReqVO) {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<ActivityTableDO> list = activityTableService.getActivityTablePage(pageReqVO).getList();
|
||||
return success(BeanUtils.toBean(list, ActivityTableRespVO.class));
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出活动用餐桌子 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-table:export')")
|
||||
@OperateLog(type = EXPORT)
|
||||
public void exportActivityTableExcel(@Valid ActivityTablePageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<ActivityTableDO> list = activityTableService.getActivityTablePage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "活动用餐桌子.xls", "数据", ActivityTableRespVO.class,
|
||||
BeanUtils.toBean(list, ActivityTableRespVO.class));
|
||||
}
|
||||
|
||||
@PutMapping("/updateTime")
|
||||
@Operation(summary = "修改用餐时间")
|
||||
public CommonResult<Boolean> updateTime(@Valid @RequestBody UpdateTimeVO updateTimeVO) {
|
||||
return success( activityTableService.updateTime(updateTimeVO));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activitytable.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
@Schema(description = "管理后台 - 活动用餐桌子 Response VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class ActivityTableCountVO {
|
||||
|
||||
|
||||
@Schema(description = "活动id")
|
||||
private Long activityId;
|
||||
|
||||
@Schema(description = "预定人数")
|
||||
private Integer reserveNum= 0;
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activitytable.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
@Schema(description = "管理后台 - 活动用餐桌子新增/修改 Request VO")
|
||||
@Data
|
||||
public class ActivityTableCreateVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "5590")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "活动id", requiredMode = Schema.RequiredMode.REQUIRED, example = "8513")
|
||||
@NotNull(message = "活动id不能为空")
|
||||
private Long activityId;
|
||||
|
||||
@Schema(description = "序号")
|
||||
private Integer serialNumber;
|
||||
|
||||
@Schema(description = "序号")
|
||||
private String reserveTime;
|
||||
|
||||
}
|
@ -0,0 +1,52 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activitytable.vo;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.ToString;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
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 ActivityTablePageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "活动id", example = "8513")
|
||||
private Long activityId;
|
||||
|
||||
@Schema(description = "序号")
|
||||
private Integer serialNumber;
|
||||
|
||||
@Schema(description = "价格", example = "515")
|
||||
private BigDecimal price;
|
||||
|
||||
@Schema(description = "用户id", example = "13832")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "电话")
|
||||
private String mobile;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
|
||||
@Schema(description = "是否只查预定的")
|
||||
private Boolean isReserve = false;
|
||||
|
||||
private LocalDate reserveTime;
|
||||
|
||||
@Schema(description = "序号")
|
||||
private List<Integer> serialNumbers;
|
||||
|
||||
private Long merchantId;
|
||||
|
||||
}
|
@ -0,0 +1,54 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activitytable.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Schema(description = "管理后台 - 活动用餐桌子 Response VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class ActivityTableRespVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "5590")
|
||||
@ExcelProperty("编号")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "活动id", requiredMode = Schema.RequiredMode.REQUIRED, example = "8513")
|
||||
@ExcelProperty("活动id")
|
||||
private Long activityId;
|
||||
|
||||
@Schema(description = "序号")
|
||||
@ExcelProperty("序号")
|
||||
private Integer serialNumber;
|
||||
|
||||
@Schema(description = "价格", requiredMode = Schema.RequiredMode.REQUIRED, example = "515")
|
||||
@ExcelProperty("价格")
|
||||
private BigDecimal price;
|
||||
|
||||
@Schema(description = "用户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "13832")
|
||||
@ExcelProperty("用户id")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "电话")
|
||||
@ExcelProperty("电话")
|
||||
private String mobile;
|
||||
|
||||
private String nickName;
|
||||
|
||||
private String avatar;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
private String name;
|
||||
|
||||
private LocalDate reserveTime;
|
||||
|
||||
private String type;
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activitytable.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@Schema(description = "管理后台 - 活动用餐桌子新增/修改 Request VO")
|
||||
@Data
|
||||
public class ActivityTableSaveReqVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "5590")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "活动id", requiredMode = Schema.RequiredMode.REQUIRED, example = "8513")
|
||||
@NotNull(message = "活动id不能为空")
|
||||
private Long activityId;
|
||||
|
||||
@Schema(description = "序号")
|
||||
private Integer serialNumber;
|
||||
|
||||
@Schema(description = "价格", requiredMode = Schema.RequiredMode.REQUIRED, example = "515")
|
||||
@NotNull(message = "价格不能为空")
|
||||
private BigDecimal price;
|
||||
|
||||
@Schema(description = "用户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "13832")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "电话")
|
||||
private String mobile;
|
||||
|
||||
private String type;
|
||||
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activitytable.vo;
|
||||
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class ActivityTableVO {
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activitytable.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class UpdateTimeVO {
|
||||
|
||||
private Long id;
|
||||
|
||||
private String reserveTime;
|
||||
}
|
@ -0,0 +1,108 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activitytabledish;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
|
||||
import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activitytabledish.vo.ActivityTableDishPageReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activitytabledish.vo.ActivityTableDishRespVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activitytabledish.vo.ActivityTableDishSaveReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activitytabledish.vo.ActivityUpdateDishVO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.activitytabledish.ActivityTableDishDO;
|
||||
import cn.iocoder.yudao.module.member.service.activitytabledish.ActivityTableDishService;
|
||||
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.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.Valid;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
|
||||
|
||||
@Tag(name = "管理后台 - 活动用餐桌子配置")
|
||||
@RestController
|
||||
@RequestMapping("/member/activity-table-dish")
|
||||
@Validated
|
||||
public class ActivityTableDishController {
|
||||
|
||||
@Resource
|
||||
private ActivityTableDishService activityTableDishService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建活动用餐桌子配置")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-table-dish:create')")
|
||||
public CommonResult<Long> createActivityTableDish(@Valid @RequestBody ActivityTableDishSaveReqVO createReqVO) {
|
||||
return success(activityTableDishService.createActivityTableDish(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新活动用餐桌子配置")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-table-dish:update')")
|
||||
public CommonResult<Boolean> updateActivityTableDish(@Valid @RequestBody ActivityTableDishSaveReqVO updateReqVO) {
|
||||
activityTableDishService.updateActivityTableDish(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除活动用餐桌子配置")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-table-dish:delete')")
|
||||
public CommonResult<Boolean> deleteActivityTableDish(@RequestParam("id") Long id) {
|
||||
activityTableDishService.deleteActivityTableDish(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得活动用餐桌子配置")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-table-dish:query')")
|
||||
public CommonResult<ActivityTableDishRespVO> getActivityTableDish(@RequestParam("id") Long id) {
|
||||
ActivityTableDishDO activityTableDish = activityTableDishService.getActivityTableDish(id);
|
||||
return success(BeanUtils.toBean(activityTableDish, ActivityTableDishRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得活动用餐桌子配置分页")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-table-dish:query')")
|
||||
public CommonResult<PageResult<ActivityTableDishRespVO>> getActivityTableDishPage(@Valid ActivityTableDishPageReqVO pageReqVO) {
|
||||
PageResult<ActivityTableDishDO> pageResult = activityTableDishService.getActivityTableDishPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, ActivityTableDishRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/list")
|
||||
@Operation(summary = "获得所有活动用餐桌子")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-table-dish:query')")
|
||||
public CommonResult<List<ActivityTableDishRespVO>> getActivityTableDishList(@Valid ActivityTableDishPageReqVO pageReqVO) {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<ActivityTableDishDO> list = activityTableDishService.getActivityTableDishPage(pageReqVO).getList();
|
||||
return success(BeanUtils.toBean(list, ActivityTableDishRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出活动用餐桌子配置 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-table-dish:export')")
|
||||
@OperateLog(type = EXPORT)
|
||||
public void exportActivityTableDishExcel(@Valid ActivityTableDishPageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<ActivityTableDishDO> list = activityTableDishService.getActivityTableDishPage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "活动用餐桌子配置.xls", "数据", ActivityTableDishRespVO.class,
|
||||
BeanUtils.toBean(list, ActivityTableDishRespVO.class));
|
||||
}
|
||||
|
||||
@PutMapping("/updateDish")
|
||||
@Operation(summary = "批量更新活动用餐桌子套餐菜品")
|
||||
public CommonResult<Boolean> updateDish(@Valid @RequestBody ActivityUpdateDishVO updateReqVO) {
|
||||
return success(activityTableDishService.updateDish(updateReqVO));
|
||||
}
|
||||
}
|
@ -0,0 +1,51 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activitytabledish.vo;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.ToString;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
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 ActivityTableDishPageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "活动id", example = "16826")
|
||||
private Long activityId;
|
||||
|
||||
@Schema(description = "序号")
|
||||
private Integer serialNumber;
|
||||
|
||||
@Schema(description = "价格", example = "9524")
|
||||
private BigDecimal price;
|
||||
|
||||
@Schema(description = "套餐菜品")
|
||||
private String dish;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
|
||||
@Schema(description = "ID", example = "1")
|
||||
private List<Long> ids;
|
||||
|
||||
@Schema(description = "序号")
|
||||
private List<Integer> serialNumbers;
|
||||
|
||||
@Schema(description = "用户id", example = "13832")
|
||||
private Long userId;
|
||||
|
||||
private LocalDate reserveTime;
|
||||
|
||||
private Long merchantId;
|
||||
}
|
@ -0,0 +1,42 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activitytabledish.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Schema(description = "管理后台 - 活动用餐桌子配置 Response VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class ActivityTableDishRespVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "21273")
|
||||
@ExcelProperty("编号")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "活动id", requiredMode = Schema.RequiredMode.REQUIRED, example = "16826")
|
||||
@ExcelProperty("活动id")
|
||||
private Long activityId;
|
||||
|
||||
@Schema(description = "序号")
|
||||
@ExcelProperty("序号")
|
||||
private Integer serialNumber;
|
||||
|
||||
@Schema(description = "价格", requiredMode = Schema.RequiredMode.REQUIRED, example = "9524")
|
||||
@ExcelProperty("价格")
|
||||
private BigDecimal price;
|
||||
|
||||
@Schema(description = "套餐菜品")
|
||||
@ExcelProperty("套餐菜品")
|
||||
private String dish;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
private Long merchantId;
|
||||
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activitytabledish.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@Schema(description = "管理后台 - 活动用餐桌子配置新增/修改 Request VO")
|
||||
@Data
|
||||
public class ActivityTableDishSaveReqVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "21273")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "活动id", requiredMode = Schema.RequiredMode.REQUIRED, example = "16826")
|
||||
@NotNull(message = "活动id不能为空")
|
||||
private Long activityId;
|
||||
|
||||
@Schema(description = "序号")
|
||||
private Integer serialNumber;
|
||||
|
||||
@Schema(description = "价格", requiredMode = Schema.RequiredMode.REQUIRED, example = "9524")
|
||||
@NotNull(message = "价格不能为空")
|
||||
private BigDecimal price;
|
||||
|
||||
@Schema(description = "套餐菜品")
|
||||
private String dish;
|
||||
|
||||
}
|
@ -0,0 +1,21 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activitytabledish.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Schema(description = "管理后台 - 活动用餐桌子配置新增/修改 Request VO")
|
||||
@Data
|
||||
public class ActivityUpdateDishVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "21273")
|
||||
private List<Long> ids;
|
||||
|
||||
@Schema(description = "套餐菜品")
|
||||
private String dish;
|
||||
|
||||
@Schema(description = "商家ID")
|
||||
private Long merchantId;
|
||||
|
||||
}
|
@ -0,0 +1,95 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activityuser;
|
||||
|
||||
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.constraints.*;
|
||||
import javax.validation.*;
|
||||
import javax.servlet.http.*;
|
||||
import java.util.*;
|
||||
import java.io.IOException;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
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.*;
|
||||
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activityuser.vo.*;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.activityuser.ActivityUserDO;
|
||||
import cn.iocoder.yudao.module.member.service.activityuser.ActivityUserService;
|
||||
|
||||
@Tag(name = "管理后台 - 活动参加人员")
|
||||
@RestController
|
||||
@RequestMapping("/member/activity-user")
|
||||
@Validated
|
||||
public class ActivityUserController {
|
||||
|
||||
@Resource
|
||||
private ActivityUserService activityUserService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建活动参加人员")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-user:create')")
|
||||
public CommonResult<Long> createActivityUser(@Valid @RequestBody ActivityUserSaveReqVO createReqVO) {
|
||||
return success(activityUserService.createActivityUser(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新活动参加人员")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-user:update')")
|
||||
public CommonResult<Boolean> updateActivityUser(@Valid @RequestBody ActivityUserSaveReqVO updateReqVO) {
|
||||
activityUserService.updateActivityUser(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除活动参加人员")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-user:delete')")
|
||||
public CommonResult<Boolean> deleteActivityUser(@RequestParam("id") Long id) {
|
||||
activityUserService.deleteActivityUser(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得活动参加人员")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-user:query')")
|
||||
public CommonResult<ActivityUserRespVO> getActivityUser(@RequestParam("id") Long id) {
|
||||
ActivityUserDO activityUser = activityUserService.getActivityUser(id);
|
||||
return success(BeanUtils.toBean(activityUser, ActivityUserRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得活动参加人员分页")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-user:query')")
|
||||
public CommonResult<PageResult<ActivityUserRespVO>> getActivityUserPage(@Valid ActivityUserPageReqVO pageReqVO) {
|
||||
PageResult<ActivityUserDO> pageResult = activityUserService.getActivityUserPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, ActivityUserRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出活动参加人员 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-user:export')")
|
||||
@OperateLog(type = EXPORT)
|
||||
public void exportActivityUserExcel(@Valid ActivityUserPageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<ActivityUserDO> list = activityUserService.getActivityUserPage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "活动参加人员.xls", "数据", ActivityUserRespVO.class,
|
||||
BeanUtils.toBean(list, ActivityUserRespVO.class));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activityuser.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
@Schema(description = "管理后台 - 活动参加人员 Response VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class ActivityUserCountVO {
|
||||
|
||||
|
||||
@Schema(description = "活动id")
|
||||
private Long activityId;
|
||||
|
||||
@Schema(description = "参加人数")
|
||||
private Integer applyNum = 0;
|
||||
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activityuser.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 ActivityUserPageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "活动id", example = "12749")
|
||||
private Long activityId;
|
||||
|
||||
@Schema(description = "用户id", example = "6186")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "电话")
|
||||
private String mobile;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
|
||||
}
|
@ -0,0 +1,39 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activityuser.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Schema(description = "管理后台 - 活动参加人员 Response VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class ActivityUserRespVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "17804")
|
||||
@ExcelProperty("编号")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "活动id", requiredMode = Schema.RequiredMode.REQUIRED, example = "12749")
|
||||
@ExcelProperty("活动id")
|
||||
private Long activityId;
|
||||
|
||||
@Schema(description = "用户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "6186")
|
||||
@ExcelProperty("用户id")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "电话")
|
||||
@ExcelProperty("电话")
|
||||
private String mobile;
|
||||
|
||||
private String nickName;
|
||||
|
||||
private String avatar;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activityuser.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 ActivityUserSaveReqVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "17804")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "活动id", requiredMode = Schema.RequiredMode.REQUIRED, example = "12749")
|
||||
@NotNull(message = "活动id不能为空")
|
||||
private Long activityId;
|
||||
|
||||
@Schema(description = "用户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "6186")
|
||||
@NotNull(message = "用户id不能为空")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "电话")
|
||||
private String mobile;
|
||||
|
||||
}
|
@ -0,0 +1,95 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activityvoucher;
|
||||
|
||||
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.constraints.*;
|
||||
import javax.validation.*;
|
||||
import javax.servlet.http.*;
|
||||
import java.util.*;
|
||||
import java.io.IOException;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
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.*;
|
||||
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activityvoucher.vo.*;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.activityvoucher.ActivityVoucherDO;
|
||||
import cn.iocoder.yudao.module.member.service.activityvoucher.ActivityVoucherService;
|
||||
|
||||
@Tag(name = "管理后台 - 活动代金券")
|
||||
@RestController
|
||||
@RequestMapping("/member/activity-voucher")
|
||||
@Validated
|
||||
public class ActivityVoucherController {
|
||||
|
||||
@Resource
|
||||
private ActivityVoucherService activityVoucherService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建活动代金券")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-voucher:create')")
|
||||
public CommonResult<Long> createActivityVoucher(@Valid @RequestBody ActivityVoucherSaveReqVO createReqVO) {
|
||||
return success(activityVoucherService.createActivityVoucher(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新活动代金券")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-voucher:update')")
|
||||
public CommonResult<Boolean> updateActivityVoucher(@Valid @RequestBody ActivityVoucherSaveReqVO updateReqVO) {
|
||||
activityVoucherService.updateActivityVoucher(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除活动代金券")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-voucher:delete')")
|
||||
public CommonResult<Boolean> deleteActivityVoucher(@RequestParam("id") Long id) {
|
||||
activityVoucherService.deleteActivityVoucher(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得活动代金券")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-voucher:query')")
|
||||
public CommonResult<ActivityVoucherRespVO> getActivityVoucher(@RequestParam("id") Long id) {
|
||||
ActivityVoucherDO activityVoucher = activityVoucherService.getActivityVoucher(id);
|
||||
return success(BeanUtils.toBean(activityVoucher, ActivityVoucherRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得活动代金券分页")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-voucher:query')")
|
||||
public CommonResult<PageResult<ActivityVoucherRespVO>> getActivityVoucherPage(@Valid ActivityVoucherPageReqVO pageReqVO) {
|
||||
PageResult<ActivityVoucherDO> pageResult = activityVoucherService.getActivityVoucherPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, ActivityVoucherRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出活动代金券 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-voucher:export')")
|
||||
@OperateLog(type = EXPORT)
|
||||
public void exportActivityVoucherExcel(@Valid ActivityVoucherPageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<ActivityVoucherDO> list = activityVoucherService.getActivityVoucherPage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "活动代金券.xls", "数据", ActivityVoucherRespVO.class,
|
||||
BeanUtils.toBean(list, ActivityVoucherRespVO.class));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activityvoucher.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 ActivityVoucherPageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "代金券名字", example = "张三")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "类型 1-折扣,2-抵扣", example = "2")
|
||||
private String type;
|
||||
|
||||
@Schema(description = "数值")
|
||||
private BigDecimal num;
|
||||
|
||||
@Schema(description = "使用次数")
|
||||
private Integer limitNum;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
|
||||
}
|
@ -0,0 +1,41 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activityvoucher.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 ActivityVoucherRespVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "21748")
|
||||
@ExcelProperty("编号")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "代金券名字", example = "张三")
|
||||
@ExcelProperty("代金券名字")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "类型 1-折扣,2-抵扣", example = "2")
|
||||
@ExcelProperty("类型 1-折扣,2-抵扣")
|
||||
private String type;
|
||||
|
||||
@Schema(description = "数值")
|
||||
@ExcelProperty("数值")
|
||||
private BigDecimal num;
|
||||
|
||||
@Schema(description = "使用次数")
|
||||
@ExcelProperty("使用次数")
|
||||
private Integer limitNum;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
}
|
@ -0,0 +1,28 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activityvoucher.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import javax.validation.constraints.*;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@Schema(description = "管理后台 - 活动代金券新增/修改 Request VO")
|
||||
@Data
|
||||
public class ActivityVoucherSaveReqVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "21748")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "代金券名字", example = "张三")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "类型 1-折扣,2-抵扣", example = "2")
|
||||
private String type;
|
||||
|
||||
@Schema(description = "数值")
|
||||
private BigDecimal num;
|
||||
|
||||
@Schema(description = "使用次数")
|
||||
private Integer limitNum;
|
||||
|
||||
}
|
@ -0,0 +1,95 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activityvoucheruser;
|
||||
|
||||
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.constraints.*;
|
||||
import javax.validation.*;
|
||||
import javax.servlet.http.*;
|
||||
import java.util.*;
|
||||
import java.io.IOException;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
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.*;
|
||||
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activityvoucheruser.vo.*;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.activityvoucheruser.ActivityVoucherUserDO;
|
||||
import cn.iocoder.yudao.module.member.service.activityvoucheruser.ActivityVoucherUserService;
|
||||
|
||||
@Tag(name = "管理后台 - 活动用户拥有代金券")
|
||||
@RestController
|
||||
@RequestMapping("/member/activity-voucher-user")
|
||||
@Validated
|
||||
public class ActivityVoucherUserController {
|
||||
|
||||
@Resource
|
||||
private ActivityVoucherUserService activityVoucherUserService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建活动用户拥有代金券")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-voucher-user:create')")
|
||||
public CommonResult<Long> createActivityVoucherUser(@Valid @RequestBody ActivityVoucherUserSaveReqVO createReqVO) {
|
||||
return success(activityVoucherUserService.createActivityVoucherUser(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新活动用户拥有代金券")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-voucher-user:update')")
|
||||
public CommonResult<Boolean> updateActivityVoucherUser(@Valid @RequestBody ActivityVoucherUserSaveReqVO updateReqVO) {
|
||||
activityVoucherUserService.updateActivityVoucherUser(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除活动用户拥有代金券")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-voucher-user:delete')")
|
||||
public CommonResult<Boolean> deleteActivityVoucherUser(@RequestParam("id") Long id) {
|
||||
activityVoucherUserService.deleteActivityVoucherUser(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得活动用户拥有代金券")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-voucher-user:query')")
|
||||
public CommonResult<ActivityVoucherUserRespVO> getActivityVoucherUser(@RequestParam("id") Long id) {
|
||||
ActivityVoucherUserDO activityVoucherUser = activityVoucherUserService.getActivityVoucherUser(id);
|
||||
return success(BeanUtils.toBean(activityVoucherUser, ActivityVoucherUserRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得活动用户拥有代金券分页")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-voucher-user:query')")
|
||||
public CommonResult<PageResult<ActivityVoucherUserRespVO>> getActivityVoucherUserPage(@Valid ActivityVoucherUserPageReqVO pageReqVO) {
|
||||
PageResult<ActivityVoucherUserDO> pageResult = activityVoucherUserService.getActivityVoucherUserPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, ActivityVoucherUserRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出活动用户拥有代金券 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('member:activity-voucher-user:export')")
|
||||
@OperateLog(type = EXPORT)
|
||||
public void exportActivityVoucherUserExcel(@Valid ActivityVoucherUserPageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<ActivityVoucherUserDO> list = activityVoucherUserService.getActivityVoucherUserPage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "活动用户拥有代金券.xls", "数据", ActivityVoucherUserRespVO.class,
|
||||
BeanUtils.toBean(list, ActivityVoucherUserRespVO.class));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,34 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activityvoucheruser.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 ActivityVoucherUserPageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "代金券ID", example = "24250")
|
||||
private Long voucherId;
|
||||
|
||||
@Schema(description = "用户ID", example = "18771")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "电话")
|
||||
private String mobile;
|
||||
|
||||
@Schema(description = "0-未使用,1-已使用,2-已过期", example = "2")
|
||||
private String status;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
|
||||
}
|
@ -0,0 +1,42 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activityvoucheruser.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Schema(description = "管理后台 - 活动用户拥有代金券 Response VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class ActivityVoucherUserRespVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "32021")
|
||||
@ExcelProperty("编号")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "代金券ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "24250")
|
||||
@ExcelProperty("代金券ID")
|
||||
private Long voucherId;
|
||||
|
||||
@Schema(description = "用户ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "18771")
|
||||
@ExcelProperty("用户ID")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "电话")
|
||||
@ExcelProperty("电话")
|
||||
private String mobile;
|
||||
|
||||
@Schema(description = "0-未使用,1-已使用,2-已过期", example = "2")
|
||||
@ExcelProperty("0-未使用,1-已使用,2-已过期")
|
||||
private String status;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,28 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.activityvoucheruser.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
@Schema(description = "管理后台 - 活动用户拥有代金券新增/修改 Request VO")
|
||||
@Data
|
||||
public class ActivityVoucherUserSaveReqVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "32021")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "代金券ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "24250")
|
||||
@NotNull(message = "代金券ID不能为空")
|
||||
private Long voucherId;
|
||||
|
||||
@Schema(description = "用户ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "18771")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "电话")
|
||||
private String mobile;
|
||||
|
||||
@Schema(description = "0-未使用,1-已使用,2-已过期", example = "2")
|
||||
private String status;
|
||||
|
||||
}
|
@ -214,4 +214,24 @@ public class CustomizeExcelController {
|
||||
ExcelUtils.write(response, "现金充值.xlsx", "数据", CashAmountExcelVO.class,
|
||||
orderExcelVOS);
|
||||
}
|
||||
|
||||
@GetMapping("/activityMxExcel")
|
||||
@Operation(summary = "活动付款明细导出")
|
||||
@OperateLog(type = EXPORT)
|
||||
public void exportActivityMx(HttpServletResponse response) throws IOException {
|
||||
List<ActivityMxVO> orderExcelVOS = excelService.exportActivityMx();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "现金充值.xlsx", "数据", ActivityMxVO.class,
|
||||
orderExcelVOS);
|
||||
}
|
||||
|
||||
@GetMapping("/activityReserveExcel")
|
||||
@Operation(summary = "活动预定桌数导出")
|
||||
@OperateLog(type = EXPORT)
|
||||
public void exportActivityReserve(HttpServletResponse response) throws IOException {
|
||||
List<ActivityReserveVO> orderExcelVOS = excelService.exportActivityReserve();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "现金充值.xlsx", "数据", ActivityReserveVO.class,
|
||||
orderExcelVOS);
|
||||
}
|
||||
}
|
@ -0,0 +1,38 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.customizeExcel.vo;
|
||||
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@Data
|
||||
public class ActivityMxVO {
|
||||
|
||||
@ExcelProperty("id")
|
||||
private Long id;
|
||||
|
||||
@ExcelProperty("活动名称")
|
||||
private String activityName;
|
||||
|
||||
@ExcelProperty("商户名称")
|
||||
private String name;
|
||||
|
||||
@ExcelProperty("桌号")
|
||||
private String serialNumbers;
|
||||
|
||||
@ExcelProperty("价格")
|
||||
private BigDecimal price;
|
||||
|
||||
@ExcelProperty("昵称")
|
||||
private String nickName;
|
||||
|
||||
@ExcelProperty("电话")
|
||||
private String mobile;
|
||||
|
||||
@ExcelProperty("预约时间")
|
||||
private String reserveTime;
|
||||
|
||||
@ExcelProperty("创建时间")
|
||||
private String createTime;
|
||||
}
|
@ -0,0 +1,43 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.customizeExcel.vo;
|
||||
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class ActivityReserveVO {
|
||||
|
||||
@ExcelProperty("商户名称")
|
||||
private String name;
|
||||
|
||||
|
||||
@ExcelProperty("2025-06-13")
|
||||
private String day1;
|
||||
|
||||
@ExcelProperty("2025-06-14")
|
||||
private String day2;
|
||||
|
||||
@ExcelProperty("2025-06-15")
|
||||
private String day3;
|
||||
|
||||
@ExcelProperty("2025-06-16")
|
||||
private String day4;
|
||||
|
||||
@ExcelProperty("2025-06-17")
|
||||
private String day5;
|
||||
|
||||
@ExcelProperty("2025-06-18")
|
||||
private String day6;
|
||||
|
||||
@ExcelProperty("2025-06-19")
|
||||
private String day7;
|
||||
|
||||
@ExcelProperty("2025-06-20")
|
||||
private String day8;
|
||||
|
||||
@ExcelProperty("2025-06-21")
|
||||
private String day9;
|
||||
|
||||
@ExcelProperty("2025-06-22")
|
||||
private String day10;
|
||||
}
|
@ -0,0 +1,95 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.storediscount;
|
||||
|
||||
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.constraints.*;
|
||||
import javax.validation.*;
|
||||
import javax.servlet.http.*;
|
||||
import java.util.*;
|
||||
import java.io.IOException;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
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.*;
|
||||
|
||||
import cn.iocoder.yudao.module.member.controller.admin.storediscount.vo.*;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.storediscount.StoreDiscountDO;
|
||||
import cn.iocoder.yudao.module.member.service.storediscount.StoreDiscountService;
|
||||
|
||||
@Tag(name = "管理后台 - 门店超市折扣")
|
||||
@RestController
|
||||
@RequestMapping("/member/store-discount")
|
||||
@Validated
|
||||
public class StoreDiscountController {
|
||||
|
||||
@Resource
|
||||
private StoreDiscountService storeDiscountService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建门店超市折扣")
|
||||
@PreAuthorize("@ss.hasPermission('member:store-discount:create')")
|
||||
public CommonResult<Long> createStoreDiscount(@Valid @RequestBody StoreDiscountSaveReqVO createReqVO) {
|
||||
return success(storeDiscountService.createStoreDiscount(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新门店超市折扣")
|
||||
@PreAuthorize("@ss.hasPermission('member:store-discount:update')")
|
||||
public CommonResult<Boolean> updateStoreDiscount(@Valid @RequestBody StoreDiscountSaveReqVO updateReqVO) {
|
||||
storeDiscountService.updateStoreDiscount(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除门店超市折扣")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('member:store-discount:delete')")
|
||||
public CommonResult<Boolean> deleteStoreDiscount(@RequestParam("id") Long id) {
|
||||
storeDiscountService.deleteStoreDiscount(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得门店超市折扣")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('member:store-discount:query')")
|
||||
public CommonResult<StoreDiscountRespVO> getStoreDiscount(@RequestParam("id") Long id) {
|
||||
StoreDiscountDO storeDiscount = storeDiscountService.getStoreDiscount(id);
|
||||
return success(BeanUtils.toBean(storeDiscount, StoreDiscountRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得门店超市折扣分页")
|
||||
@PreAuthorize("@ss.hasPermission('member:store-discount:query')")
|
||||
public CommonResult<PageResult<StoreDiscountRespVO>> getStoreDiscountPage(@Valid StoreDiscountPageReqVO pageReqVO) {
|
||||
PageResult<StoreDiscountDO> pageResult = storeDiscountService.getStoreDiscountPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, StoreDiscountRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出门店超市折扣 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('member:store-discount:export')")
|
||||
@OperateLog(type = EXPORT)
|
||||
public void exportStoreDiscountExcel(@Valid StoreDiscountPageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<StoreDiscountDO> list = storeDiscountService.getStoreDiscountPage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "门店超市折扣.xls", "数据", StoreDiscountRespVO.class,
|
||||
BeanUtils.toBean(list, StoreDiscountRespVO.class));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,43 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.storediscount.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 StoreDiscountPageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "门店ID", example = "24360")
|
||||
private Long storeId;
|
||||
|
||||
@Schema(description = "折扣名字", example = "赵六")
|
||||
private String discountName;
|
||||
|
||||
@Schema(description = "折扣")
|
||||
private BigDecimal discountNum;
|
||||
|
||||
@Schema(description = "开始时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] startTime;
|
||||
|
||||
@Schema(description = "结束时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] endTime;
|
||||
|
||||
@Schema(description = "0-禁用,1-启用", example = "2")
|
||||
private String status;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
|
||||
}
|
@ -0,0 +1,49 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.storediscount.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 StoreDiscountRespVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "5567")
|
||||
@ExcelProperty("编号")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "门店ID", example = "24360")
|
||||
@ExcelProperty("门店ID")
|
||||
private Long storeId;
|
||||
|
||||
@Schema(description = "折扣名字", example = "赵六")
|
||||
@ExcelProperty("折扣名字")
|
||||
private String discountName;
|
||||
|
||||
@Schema(description = "折扣")
|
||||
@ExcelProperty("折扣")
|
||||
private BigDecimal discountNum;
|
||||
|
||||
@Schema(description = "开始时间")
|
||||
@ExcelProperty("开始时间")
|
||||
private LocalDateTime startTime;
|
||||
|
||||
@Schema(description = "结束时间")
|
||||
@ExcelProperty("结束时间")
|
||||
private LocalDateTime endTime;
|
||||
|
||||
@Schema(description = "0-禁用,1-启用", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
|
||||
@ExcelProperty("0-禁用,1-启用")
|
||||
private String status;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
}
|
@ -0,0 +1,37 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.storediscount.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 StoreDiscountSaveReqVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "5567")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "门店ID", example = "24360")
|
||||
private Long storeId;
|
||||
|
||||
@Schema(description = "折扣名字", example = "赵六")
|
||||
private String discountName;
|
||||
|
||||
@Schema(description = "折扣")
|
||||
private BigDecimal discountNum;
|
||||
|
||||
@Schema(description = "开始时间")
|
||||
private LocalDateTime startTime;
|
||||
|
||||
@Schema(description = "结束时间")
|
||||
private LocalDateTime endTime;
|
||||
|
||||
@Schema(description = "0-禁用,1-启用", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
|
||||
@NotEmpty(message = "0-禁用,1-启用不能为空")
|
||||
private String status;
|
||||
|
||||
}
|
@ -6,6 +6,7 @@ import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
@ -68,4 +69,14 @@ public class StoreOrderRespVO {
|
||||
*/
|
||||
private Double reductionPrice;
|
||||
|
||||
/**
|
||||
* 原价
|
||||
*/
|
||||
private Double originalPrice;
|
||||
|
||||
/**
|
||||
* 折扣
|
||||
*/
|
||||
private BigDecimal discountNum;
|
||||
|
||||
}
|
@ -0,0 +1,461 @@
|
||||
package cn.iocoder.yudao.module.member.controller.app.activity;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.framework.idempotent.core.annotation.Idempotent;
|
||||
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activity.vo.ActivityPageReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activity.vo.ActivityRespVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activityadddish.vo.ActivityAddDishPageReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activityadddish.vo.ActivityAddDishRespVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activityawards.vo.ActivityAwardsRespVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activityawardsuser.vo.ActivityAwardsUserPageReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activityawardsuser.vo.ActivityAwardsUserRespVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activitymerchant.vo.ActivityMerchantPageReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activitymerchant.vo.ActivityMerchantRespVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activitypay.vo.ActivityPayPageReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activityrestaurant.vo.ActivityRestaurantRespVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activitytabledish.vo.ActivityTableDishPageReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activitytabledish.vo.ActivityTableDishRespVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activityuser.vo.ActivityUserPageReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activityvoucheruser.vo.ActivityVoucherUserPageReqVO;
|
||||
import cn.iocoder.yudao.module.member.controller.app.activity.vo.*;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.activity.ActivityDO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.activityadddish.ActivityAddDishDO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.activityawards.ActivityAwardsDO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.activityawardsuser.ActivityAwardsUserDO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.activitymenu.ActivityMenuDO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.activitymerchant.ActivityMerchantDO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.activitypay.ActivityPayDO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.activityrestaurant.ActivityRestaurantDO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.activitytable.ActivityTableDO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.activitytabledish.ActivityTableDishDO;
|
||||
import cn.iocoder.yudao.module.member.service.activity.ActivityService;
|
||||
import cn.iocoder.yudao.module.member.service.activityadddish.ActivityAddDishService;
|
||||
import cn.iocoder.yudao.module.member.service.activityawards.ActivityAwardsService;
|
||||
import cn.iocoder.yudao.module.member.service.activityawardsuser.ActivityAwardsUserService;
|
||||
import cn.iocoder.yudao.module.member.service.activitymenu.ActivityMenuService;
|
||||
import cn.iocoder.yudao.module.member.service.activitymerchant.ActivityMerchantService;
|
||||
import cn.iocoder.yudao.module.member.service.activitypay.ActivityPayService;
|
||||
import cn.iocoder.yudao.module.member.service.activityrestaurant.ActivityRestaurantService;
|
||||
import cn.iocoder.yudao.module.member.service.activitytable.ActivityTableService;
|
||||
import cn.iocoder.yudao.module.member.service.activitytabledish.ActivityTableDishService;
|
||||
import cn.iocoder.yudao.module.member.service.activityuser.ActivityUserService;
|
||||
import cn.iocoder.yudao.module.member.service.activityvoucheruser.ActivityVoucherUserService;
|
||||
import cn.iocoder.yudao.module.member.util.QRCodeWithJWTUtil;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.validation.Valid;
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.*;
|
||||
|
||||
|
||||
@Tag(name = "用户 APP - 活动")
|
||||
@RestController
|
||||
@RequestMapping("/member/activity")
|
||||
@Validated
|
||||
public class AppActivityDrawController {
|
||||
|
||||
@Resource
|
||||
private ActivityService activityService;
|
||||
|
||||
@Resource
|
||||
private ActivityAwardsService activityAwardsService;
|
||||
|
||||
@Resource
|
||||
private ActivityAwardsUserService activityAwardsUserService;
|
||||
|
||||
@Resource
|
||||
private ActivityUserService activityUserService;
|
||||
|
||||
@Resource
|
||||
private ActivityTableService activityTableService;
|
||||
|
||||
@Resource
|
||||
private ActivityPayService activityPayService;
|
||||
|
||||
@Resource
|
||||
private ActivityRestaurantService activityRestaurantService;
|
||||
|
||||
@Resource
|
||||
private ActivityTableDishService activityTableDishService;
|
||||
|
||||
@Resource
|
||||
private ActivityAddDishService activityAddDishService;
|
||||
|
||||
@Resource
|
||||
private ActivityMerchantService activityMerchantService;
|
||||
|
||||
@Resource
|
||||
private ActivityVoucherUserService activityVoucherUserService;
|
||||
|
||||
@Resource
|
||||
private ActivityMenuService activityMenuService;
|
||||
|
||||
@GetMapping("/manage/page")
|
||||
@Operation(summary = "管理员获取当天活动")
|
||||
public CommonResult<PageResult<ActivityRespVO>> getTodayActivityPage(@Valid ActivityPageReqVO pageReqVO) {
|
||||
PageResult<ActivityRespVO> pageResult = activityService.getActivityPage(pageReqVO);
|
||||
return success(pageResult);
|
||||
}
|
||||
|
||||
@GetMapping("/user/page")
|
||||
@Operation(summary = "用户获取所有活动")
|
||||
public CommonResult<PageResult<ActivityRespVO>> getAllActivityPage(@Valid ActivityPageReqVO pageReqVO) {
|
||||
PageResult<ActivityRespVO> pageResult = activityService.getUserActivityPage(pageReqVO);
|
||||
return success(pageResult);
|
||||
}
|
||||
|
||||
@GetMapping("/userRecord/page")
|
||||
@Operation(summary = "用户获取自己的活动记录")
|
||||
public CommonResult<PageResult<AppActivityRespVO>> getUserRecordActivityPage(@Valid ActivityUserPageReqVO pageReqVO) {
|
||||
Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
|
||||
pageReqVO.setUserId(loginUserId);
|
||||
return success(activityUserService.getUserRecordPage(pageReqVO));
|
||||
}
|
||||
|
||||
@GetMapping("/prizeDraw")
|
||||
@Operation(summary = "抽奖")
|
||||
@Idempotent(timeout = 10)
|
||||
public CommonResult<List<ActivityAwardsUserDO>> prizeDraw(@Valid AppActivityPrizeDrawVO drawVO) {
|
||||
return success( activityService.prizeDraw(drawVO));
|
||||
}
|
||||
|
||||
@GetMapping("/awardsUser/page")
|
||||
@Operation(summary = "中奖人员分页")
|
||||
public CommonResult<PageResult<ActivityAwardsUserRespVO>> getActivityAwardsUserPage(@Valid ActivityAwardsUserPageReqVO pageReqVO) {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
PageResult<ActivityAwardsUserDO> pageResult = activityAwardsUserService.getActivityAwardsUserPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, ActivityAwardsUserRespVO.class));
|
||||
}
|
||||
|
||||
@PostMapping("/user/apply")
|
||||
@Operation(summary = "用户报名")
|
||||
@Idempotent(timeout = 10)
|
||||
public CommonResult<Boolean> userApply(@Valid @RequestBody AppUserApplyVO appUserApplyVO) {
|
||||
Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
|
||||
appUserApplyVO.setUserId(loginUserId);
|
||||
return success( activityUserService.userApply(appUserApplyVO));
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/manage/get")
|
||||
@Operation(summary = "管理员获得活动详情")
|
||||
public CommonResult<ActivityRespVO> getActivity(@RequestParam("id") Long id) {
|
||||
ActivityDO activity = activityService.getActivity(id);
|
||||
ActivityRespVO bean = BeanUtils.toBean(activity, ActivityRespVO.class);
|
||||
return success(bean);
|
||||
}
|
||||
|
||||
@GetMapping("/user/activity")
|
||||
@Operation(summary = "用户获得活动详情(记录)")
|
||||
public CommonResult<AppActivityRespVO> getUserActivity(@RequestParam("id") Long id) {
|
||||
AppActivityRespVO activity = activityService.getUserActivity(id,SecurityFrameworkUtils.getLoginUserId());
|
||||
return success(activity);
|
||||
}
|
||||
|
||||
@GetMapping("/user/activity/applyInfo")
|
||||
@Operation(summary = "用户获得活动详情(报名)")
|
||||
public CommonResult<AppActivityRespVO> getUserActivityApplyInfo(@RequestParam("id") Long id) {
|
||||
AppActivityRespVO activity = activityService.getUserActivityApplyInfo(id,SecurityFrameworkUtils.getLoginUserId());
|
||||
return success(activity);
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/user/activityList")
|
||||
@Operation(summary = "用户获得可订餐的活动")
|
||||
public CommonResult<List<AppActivityRespVO>> getUserActivityList() {
|
||||
return success(activityService.getReservatList());
|
||||
}
|
||||
|
||||
@GetMapping("/user/activityList/page")
|
||||
@Operation(summary = "用户获得可订餐的活动分页")
|
||||
public CommonResult<PageResult<ActivityRespVO>> getActivityReservePage(@Valid ActivityPageReqVO pageReqVO) {
|
||||
PageResult<ActivityRespVO> pageResult = activityService.getActivityReservePage(pageReqVO);
|
||||
return success(pageResult);
|
||||
}
|
||||
|
||||
@GetMapping("/user/table")
|
||||
@Operation(summary = "用户获取已订餐桌号")
|
||||
public CommonResult<List<AppActivityTableRespVO>> getUserTableList(@RequestParam("activityId") Long activityId,@RequestParam("time") String time) {
|
||||
return success(BeanUtils.toBean(activityTableService.getListByActivityIdAndTime(activityId,time), AppActivityTableRespVO.class));
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/user/check")
|
||||
@Operation(summary = "用户订餐桌号检测")
|
||||
public CommonResult<Boolean> userTableCheck(@RequestBody AppCheckVO vo) {
|
||||
return success(activityTableService.userTableCheck(vo));
|
||||
}
|
||||
|
||||
@PutMapping("/user/unbind")
|
||||
@Operation(summary = "支付失败取消用户餐桌绑定")
|
||||
public CommonResult<Boolean> userTableUnbind(@RequestBody AppUnbindVO vo) {
|
||||
return success(activityTableService.userTableUnbind(vo));
|
||||
}
|
||||
|
||||
@GetMapping("/qrCode")
|
||||
@Operation(summary = "获取核销二维码(抽奖)")
|
||||
public CommonResult<String> getQrCode(@RequestParam("activityAwardsUserId") Long activityAwardsUserId) {
|
||||
|
||||
ActivityAwardsUserDO activityAwardsUserDO = activityAwardsUserService.getActivityAwardsUser(activityAwardsUserId);
|
||||
if(!"0".equals(activityAwardsUserDO.getAwardsStatus())){
|
||||
throw exception(ACTIVITY_AWARDS_USER_NOT_EFFECTIVE);
|
||||
}
|
||||
ActivityDO activity = activityService.getActivity(activityAwardsUserDO.getActivityId());
|
||||
ActivityAwardsDO activityAwards = activityAwardsService.getActivityAwards(activityAwardsUserDO.getAwardsId());
|
||||
|
||||
|
||||
AppQrCodeVO appQrCodeVO = new AppQrCodeVO();
|
||||
appQrCodeVO.setActivityAwardsUserId(activityAwardsUserId);
|
||||
appQrCodeVO.setNickName(activityAwardsUserDO.getNickName());
|
||||
appQrCodeVO.setMobile(activityAwardsUserDO.getMobile());
|
||||
appQrCodeVO.setPrize(activityAwards.getPrize());
|
||||
appQrCodeVO.setActivityName(activity.getActivityName());
|
||||
appQrCodeVO.setType("1");
|
||||
|
||||
String qrCode = QRCodeWithJWTUtil.generateQRCode(JSONUtil.toJsonStr(appQrCodeVO), 350, 350, null);// 生
|
||||
return success(qrCode);
|
||||
}
|
||||
|
||||
@PutMapping("/cancel")
|
||||
@Operation(summary = "核销(抽奖)")
|
||||
public CommonResult<Boolean> cancel(@RequestBody AppCancelVO vo) {
|
||||
return success(activityAwardsUserService.cancel(vo));
|
||||
}
|
||||
|
||||
@GetMapping("/manage/applyUserList")
|
||||
@Operation(summary = "报名人员列表")
|
||||
public CommonResult<List<AppActivityUserRespVO>> applyUserList(@RequestParam("activityId") Long activityId) {
|
||||
return success(activityUserService.applyUserList(activityId));
|
||||
}
|
||||
|
||||
@GetMapping("/awardsList")
|
||||
@Operation(summary = "获得活动奖项列表")
|
||||
public CommonResult<List<ActivityAwardsRespVO>> getActivityAwardsList(@RequestParam("activityId") Long activityId) {
|
||||
List<ActivityAwardsDO> list = activityAwardsService.getListByActivity(activityId);
|
||||
return success(BeanUtils.toBean(list, ActivityAwardsRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/user/pay/page")
|
||||
@Operation(summary = "用户付款记录分页")
|
||||
public CommonResult<PageResult<AppActivityPayRespVO>> getUserActivityPayPage(@Valid ActivityPayPageReqVO pageReqVO) {
|
||||
Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
|
||||
pageReqVO.setUserId(loginUserId);
|
||||
PageResult<AppActivityPayRespVO> pageResult = activityPayService.getUserActivityPayPage(pageReqVO);
|
||||
if(CollectionUtil.isNotEmpty(pageResult.getList())){
|
||||
for (AppActivityPayRespVO item:pageResult.getList()){
|
||||
if(StringUtils.isBlank(item.getMenuIds())){
|
||||
continue;
|
||||
}
|
||||
String serialNumbers = item.getSerialNumbers();
|
||||
String menuNames = item.getMenuNames();
|
||||
String[] split = serialNumbers.split(",");
|
||||
String[] split1 = menuNames.split(",");
|
||||
ArrayList<PayVO> payVOS = new ArrayList<>();
|
||||
|
||||
for (int i = 0; i < split.length; i++) {
|
||||
PayVO payVO = new PayVO();
|
||||
payVO.setSerialNumbers(split[i]);
|
||||
payVO.setMenuName(split1[i]);
|
||||
payVOS.add(payVO);
|
||||
}
|
||||
item.setPayVOs(payVOS);
|
||||
}
|
||||
}
|
||||
return success(pageResult);
|
||||
}
|
||||
|
||||
@GetMapping("/user/activity/reserveInfo")
|
||||
@Operation(summary = "用户获得订餐活动详情")
|
||||
public CommonResult<AppActivityRespVO> getUserActivityReserveInfo(@RequestParam("id") Long id) {
|
||||
ActivityDO activity = activityService.getActivity(id);
|
||||
AppActivityRespVO bean = BeanUtils.toBean(activity, AppActivityRespVO.class);
|
||||
ActivityRestaurantDO activityRestaurantDO = activityRestaurantService.getByActivityId(id);
|
||||
bean.setActivityRestaurantSaveDto(BeanUtils.toBean(activityRestaurantDO, ActivityRestaurantRespVO.class));
|
||||
return success(bean);
|
||||
}
|
||||
|
||||
@GetMapping("/reserveQrCode")
|
||||
@Operation(summary = "获取核销二维码(订餐)")
|
||||
public CommonResult<String> getReserveQrCode(@RequestParam("activityPayId") Long activityPayId) {
|
||||
ActivityPayDO activityPay = activityPayService.getActivityPay(activityPayId);
|
||||
if(!"0".equals(activityPay.getStatus())){
|
||||
throw exception(ACTIVITY_PAY_USE);
|
||||
}
|
||||
|
||||
if(StrUtil.isEmpty(activityPay.getDish())){
|
||||
//获取当天日期
|
||||
LocalDate now = LocalDate.now();
|
||||
//比较日期是否相等
|
||||
if(! now.isEqual(activityPay.getReserveTime())){
|
||||
throw exception(ACTIVITY_PAY_EXPIRE);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
ActivityDO activity = activityService.getActivity(activityPay.getActivityId());
|
||||
|
||||
AppReserveQrCodeVO appReserveQrCodeVO = new AppReserveQrCodeVO();
|
||||
appReserveQrCodeVO.setActivityPayId(activityPayId);
|
||||
appReserveQrCodeVO.setNickName(activityPay.getNickName());
|
||||
appReserveQrCodeVO.setMobile(activityPay.getMobile());
|
||||
appReserveQrCodeVO.setActivityName(activity.getActivityName());
|
||||
appReserveQrCodeVO.setSerialNumbers(activityPay.getSerialNumbers());
|
||||
if(StrUtil.isNotBlank(activityPay.getDish())){
|
||||
appReserveQrCodeVO.setDish(activityPay.getDish());
|
||||
}
|
||||
appReserveQrCodeVO.setType("2");
|
||||
String qrCode = QRCodeWithJWTUtil.generateQRCode(JSONUtil.toJsonStr(appReserveQrCodeVO), 350, 350, null);// 生
|
||||
return success(qrCode);
|
||||
|
||||
}
|
||||
|
||||
@PutMapping("/reserveCancel")
|
||||
@Operation(summary = "核销(订餐)")
|
||||
public CommonResult<Boolean> reserveCancel(@RequestBody AppCancelVO vo) {
|
||||
return success(activityPayService.reserveCancel(vo));
|
||||
}
|
||||
|
||||
@GetMapping("/tableList")
|
||||
@Operation(summary = "获得所有活动用餐桌子")
|
||||
public CommonResult<List<ActivityTableDishRespVO>> getActivityTableDishList(@Valid ActivityTableDishPageReqVO pageReqVO) {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<ActivityTableDishDO> list = activityTableDishService.getActivityTableDishPage(pageReqVO).getList();
|
||||
return success(BeanUtils.toBean(list, ActivityTableDishRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/addDishList")
|
||||
@Operation(summary = "获得活动用餐桌子加菜列表")
|
||||
public CommonResult<List<ActivityAddDishRespVO>> getActivityAddDishPage(@Valid ActivityAddDishPageReqVO pageReqVO) {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<ActivityAddDishDO> list = activityAddDishService.getActivityAddDishPage(pageReqVO).getList();
|
||||
return success(BeanUtils.toBean(list, ActivityAddDishRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/user/reserveTable")
|
||||
@Operation(summary = "用户获得订餐桌号")
|
||||
public CommonResult<List<ActivityTableDishRespVO>> getActivityAddDishPage(@Valid ActivityTableDishPageReqVO pageReqVO) {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
pageReqVO.setReserveTime(LocalDate.now());
|
||||
|
||||
List<ActivityTableDO> listByActivityIdAndTimeAndUserId = activityTableService.getListByActivityIdAndTimeAndUserId(pageReqVO.getActivityId(), pageReqVO.getReserveTime(), pageReqVO.getUserId());
|
||||
if (!listByActivityIdAndTimeAndUserId.isEmpty()) {
|
||||
List<Integer> collect = listByActivityIdAndTimeAndUserId.stream().map(ActivityTableDO::getSerialNumber).collect(Collectors.toList());
|
||||
pageReqVO.setSerialNumbers(collect);
|
||||
}
|
||||
List<ActivityTableDishDO> list = activityTableDishService.getActivityTableDishPage(pageReqVO).getList();
|
||||
return success(BeanUtils.toBean(list, ActivityTableDishRespVO.class));
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/merchantList")
|
||||
@Operation(summary = "获得商家列表")
|
||||
public CommonResult<List<ActivityMerchantRespVO>> getMerchantList(@Valid ActivityMerchantPageReqVO pageReqVO) {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<ActivityMerchantDO> list = activityMerchantService.getActivityMerchantPage(pageReqVO).getList();
|
||||
return success(BeanUtils.toBean(list, ActivityMerchantRespVO.class));
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/checkVoucher")
|
||||
@Operation(summary = "判断是否能使用代金券")
|
||||
public CommonResult<Boolean> checkVoucher(@Valid ActivityVoucherVO vo) {
|
||||
return success(activityVoucherUserService.checkVoucher(vo));
|
||||
}
|
||||
|
||||
@GetMapping("/user/voucherPage")
|
||||
@Operation(summary = "用户查看自己的代金券(分页)")
|
||||
public CommonResult<PageResult<AppActivityVoucherUserRespVO>> getActivityVoucherPage(@Valid ActivityVoucherUserPageReqVO pageReqVO) {
|
||||
return success(activityVoucherUserService.getActivityVoucherPage(pageReqVO));
|
||||
}
|
||||
|
||||
@GetMapping("/user/voucherList")
|
||||
@Operation(summary = "查看用户的代金券(支付)")
|
||||
public CommonResult<List<AppActivityVoucherUserRespVO>> getActivityVoucherList(@Valid ActivityVoucherUserPageReqVO pageReqVO) {
|
||||
pageReqVO.setStatus("0");
|
||||
pageReqVO.setUserId(SecurityFrameworkUtils.getLoginUserId());
|
||||
return success(activityVoucherUserService.getActivityVoucherList(pageReqVO));
|
||||
}
|
||||
|
||||
// @GetMapping("/manage/reserveTable")
|
||||
// @Operation(summary = "管理员查看预定桌子分页")
|
||||
// public CommonResult<PageResult<ActivityTableRespVO>> getReserveTablePage(@Valid ActivityTablePageReqVO pageReqVO) {
|
||||
// List<ActivityTableDishDO> listByActivityIdAndMerchantId = activityTableDishService.getListByActivityIdAndMerchantId(pageReqVO.getActivityId(), pageReqVO.getMerchantId());
|
||||
// if (listByActivityIdAndMerchantId.isEmpty()) {
|
||||
// return success(PageResult.empty());
|
||||
// }
|
||||
// List<Integer> collect = listByActivityIdAndMerchantId.stream().map(ActivityTableDishDO::getSerialNumber).collect(Collectors.toList());
|
||||
// pageReqVO.setSerialNumbers(collect);
|
||||
// pageReqVO.setIsReserve(true);
|
||||
// PageResult<ActivityTableDO> pageResult = activityTableService.getActivityTablePage(pageReqVO);
|
||||
// return success(BeanUtils.toBean(pageResult, ActivityTableRespVO.class));
|
||||
// }
|
||||
|
||||
@GetMapping("/manage/addDishPage")
|
||||
@Operation(summary = "管理员查看加菜分页")
|
||||
public CommonResult<PageResult<AppActivityPayRespVO>> getManageAddDishPage(@Valid ActivityPayPageReqVO pageReqVO) {
|
||||
List<ActivityTableDishDO> listByActivityIdAndMerchantId = activityTableDishService.getListByActivityIdAndMerchantId(pageReqVO.getActivityId(), pageReqVO.getMerchantId());
|
||||
if (listByActivityIdAndMerchantId.isEmpty()) {
|
||||
return success(PageResult.empty());
|
||||
}
|
||||
List<Integer> collect = listByActivityIdAndMerchantId.stream().map(ActivityTableDishDO::getSerialNumber).collect(Collectors.toList());
|
||||
pageReqVO.setSerialNumberList(collect);
|
||||
PageResult<AppActivityPayRespVO> pageResult = activityPayService.getMerchantActivityPayPage(pageReqVO);
|
||||
if(CollectionUtil.isNotEmpty(pageResult.getList())){
|
||||
|
||||
for (AppActivityPayRespVO item:pageResult.getList()){
|
||||
if(StringUtils.isBlank(item.getMenuIds())){
|
||||
continue;
|
||||
}
|
||||
String serialNumbers = item.getSerialNumbers();
|
||||
String menuNames = item.getMenuNames();
|
||||
String[] split = serialNumbers.split(",");
|
||||
String[] split1 = menuNames.split(",");
|
||||
ArrayList<PayVO> payVOS = new ArrayList<>();
|
||||
|
||||
for (int i = 0; i < split.length; i++) {
|
||||
PayVO payVO = new PayVO();
|
||||
payVO.setSerialNumbers(split[i]);
|
||||
payVO.setMenuName(split1[i]);
|
||||
payVOS.add(payVO);
|
||||
}
|
||||
item.setPayVOs(payVOS);
|
||||
}
|
||||
}
|
||||
return success(pageResult);
|
||||
}
|
||||
|
||||
@GetMapping("/merchant")
|
||||
@Operation(summary = "获得商家")
|
||||
public CommonResult<ActivityMerchantDO> getMerchantByMobile(@Valid String mobile) {
|
||||
return success(activityMerchantService.getByMobile(mobile));
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/merchantMenu")
|
||||
@Operation(summary = "获得商家套餐列表")
|
||||
public CommonResult<List<ActivityMenuDO>> getMerchantByMobile(@Valid Long merchantId) {
|
||||
return success(activityMenuService.getListByMerchantId(merchantId));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
package cn.iocoder.yudao.module.member.controller.app.activity.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class ActivityVoucherVO {
|
||||
|
||||
private Long userId;
|
||||
}
|
@ -0,0 +1,59 @@
|
||||
package cn.iocoder.yudao.module.member.controller.app.activity.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
@Schema(description = "管理后台 - 活动付款 Response VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class AppActivityPayRespVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "24970")
|
||||
@ExcelProperty("编号")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "活动id", requiredMode = Schema.RequiredMode.REQUIRED, example = "27391")
|
||||
@ExcelProperty("活动id")
|
||||
private Long activityId;
|
||||
|
||||
private String activityName;
|
||||
|
||||
@Schema(description = "桌号")
|
||||
@ExcelProperty("桌号")
|
||||
private String serialNumbers;
|
||||
|
||||
@Schema(description = "价格", requiredMode = Schema.RequiredMode.REQUIRED, example = "7717")
|
||||
@ExcelProperty("价格")
|
||||
private BigDecimal price;
|
||||
|
||||
@Schema(description = "用户id", example = "5313")
|
||||
@ExcelProperty("用户id")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
private String status;
|
||||
|
||||
private LocalDate reserveTime;
|
||||
|
||||
private String dish;
|
||||
|
||||
private String diningPeriod;
|
||||
|
||||
private String menuIds;
|
||||
|
||||
private String menuNames;
|
||||
|
||||
private String voucher;
|
||||
|
||||
private List<PayVO> payVOs;
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
package cn.iocoder.yudao.module.member.controller.app.activity.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.Min;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
@Data
|
||||
public class AppActivityPrizeDrawVO {
|
||||
|
||||
|
||||
@Schema(description = "奖项Id")
|
||||
@NotNull(message = "奖项不能为空")
|
||||
private Long awardsId;
|
||||
|
||||
@Schema(description = "抽奖人数")
|
||||
@Min(value = 1, message = "数值不能小于 1")
|
||||
private Integer num;
|
||||
}
|
@ -0,0 +1,83 @@
|
||||
package cn.iocoder.yudao.module.member.controller.app.activity.vo;
|
||||
|
||||
import cn.iocoder.yudao.module.member.controller.admin.activityrestaurant.vo.ActivityRestaurantRespVO;
|
||||
import cn.iocoder.yudao.module.member.dal.dataobject.activityawards.ActivityAwardsDO;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
@Schema(description = "管理后台 - 活动 Response VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class AppActivityRespVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "29158")
|
||||
@ExcelProperty("编号")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "活动名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
|
||||
@ExcelProperty("活动名称")
|
||||
private String activityName;
|
||||
|
||||
@Schema(description = "活动开始时间")
|
||||
@ExcelProperty("活动开始时间")
|
||||
private LocalDateTime startTime;
|
||||
|
||||
@Schema(description = "活动结束时间")
|
||||
@ExcelProperty("活动结束时间")
|
||||
private LocalDateTime endTime;
|
||||
|
||||
@Schema(description = "描述", example = "你猜")
|
||||
@ExcelProperty("描述")
|
||||
private String description;
|
||||
|
||||
@Schema(description = "封面图")
|
||||
@ExcelProperty("封面图")
|
||||
private String img;
|
||||
|
||||
@Schema(description = "地点")
|
||||
@ExcelProperty("地点")
|
||||
private String location;
|
||||
|
||||
@Schema(description = "主办方")
|
||||
@ExcelProperty("主办方")
|
||||
private String sponsor;
|
||||
|
||||
@Schema(description = "可抽奖次数")
|
||||
@ExcelProperty("可抽奖次数")
|
||||
private Integer lotteryNum;
|
||||
|
||||
@Schema(description = "用餐状态,0-禁用,1-启用 ", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
@ExcelProperty("用餐状态,0-禁用,1-启用 ")
|
||||
private String reservationStatus;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
@Schema(description = "报名人数")
|
||||
private Integer applyNum;
|
||||
|
||||
@Schema(description = "中奖人数")
|
||||
private Integer awardsNum;
|
||||
|
||||
@Schema(description = "预定人数")
|
||||
private Integer reserveNum;
|
||||
|
||||
@Schema(description = "收入")
|
||||
private BigDecimal income;
|
||||
|
||||
@Schema(description = "是否报名")
|
||||
private Boolean isApply;
|
||||
|
||||
private ActivityRestaurantRespVO activityRestaurantSaveDto;
|
||||
|
||||
private List<AppUserAwardsVO> awards;
|
||||
|
||||
private List<ActivityAwardsDO> awardList;
|
||||
}
|
@ -0,0 +1,51 @@
|
||||
package cn.iocoder.yudao.module.member.controller.app.activity.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Schema(description = "管理后台 - 活动用餐桌子 Response VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class AppActivityTableRespVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "5590")
|
||||
@ExcelProperty("编号")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "活动id", requiredMode = Schema.RequiredMode.REQUIRED, example = "8513")
|
||||
@ExcelProperty("活动id")
|
||||
private Long activityId;
|
||||
|
||||
@Schema(description = "序号")
|
||||
@ExcelProperty("序号")
|
||||
private Integer serialNumber;
|
||||
|
||||
@Schema(description = "价格", requiredMode = Schema.RequiredMode.REQUIRED, example = "515")
|
||||
@ExcelProperty("价格")
|
||||
private BigDecimal price;
|
||||
|
||||
@Schema(description = "用户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "13832")
|
||||
@ExcelProperty("用户id")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "电话")
|
||||
@ExcelProperty("电话")
|
||||
private String mobile;
|
||||
|
||||
|
||||
private String nickName;
|
||||
|
||||
private String avatar;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
private LocalDate reserveTime;
|
||||
}
|
@ -0,0 +1,39 @@
|
||||
package cn.iocoder.yudao.module.member.controller.app.activity.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Schema(description = "管理后台 - 活动参加人员 Response VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class AppActivityUserRespVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "17804")
|
||||
@ExcelProperty("编号")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "活动id", requiredMode = Schema.RequiredMode.REQUIRED, example = "12749")
|
||||
@ExcelProperty("活动id")
|
||||
private Long activityId;
|
||||
|
||||
@Schema(description = "用户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "6186")
|
||||
@ExcelProperty("用户id")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "电话")
|
||||
@ExcelProperty("电话")
|
||||
private String mobile;
|
||||
|
||||
private String nickName;
|
||||
|
||||
private String avatar;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
}
|
@ -0,0 +1,51 @@
|
||||
package cn.iocoder.yudao.module.member.controller.app.activity.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Schema(description = "管理后台 - 活动用户拥有代金券 Response VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class AppActivityVoucherUserRespVO {
|
||||
|
||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "32021")
|
||||
@ExcelProperty("编号")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "代金券ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "24250")
|
||||
@ExcelProperty("代金券ID")
|
||||
private Long voucherId;
|
||||
|
||||
@Schema(description = "用户ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "18771")
|
||||
@ExcelProperty("用户ID")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "电话")
|
||||
@ExcelProperty("电话")
|
||||
private String mobile;
|
||||
|
||||
@Schema(description = "0-未使用,1-已使用,2-已过期", example = "2")
|
||||
@ExcelProperty("0-未使用,1-已使用,2-已过期")
|
||||
private String status;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
private String name;
|
||||
/**
|
||||
* 类型 1-折扣,2-抵扣
|
||||
*/
|
||||
private String type;
|
||||
/**
|
||||
* 数值
|
||||
*/
|
||||
private BigDecimal num;
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
package cn.iocoder.yudao.module.member.controller.app.activity.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class AppCancelVO {
|
||||
|
||||
private Long activityAwardsUserId;
|
||||
|
||||
private Long activityPayId;
|
||||
|
||||
private Boolean isAddDish = false;
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
package cn.iocoder.yudao.module.member.controller.app.activity.vo;
|
||||
|
||||
|
||||
import cn.iocoder.yudao.module.member.api.activitypay.dto.MenuDTO;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class AppCheckVO {
|
||||
|
||||
|
||||
private List<Integer> serialNumbers;
|
||||
|
||||
private String time;
|
||||
|
||||
private Long activityId;
|
||||
|
||||
private BigDecimal price;
|
||||
|
||||
private List<MenuDTO> menuList;
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
package cn.iocoder.yudao.module.member.controller.app.activity.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class AppQrCodeVO {
|
||||
|
||||
private Long activityAwardsUserId;
|
||||
|
||||
private String nickName;
|
||||
|
||||
private String mobile;
|
||||
|
||||
private String prize;
|
||||
|
||||
private String activityName;
|
||||
|
||||
private String type;
|
||||
}
|
@ -0,0 +1,21 @@
|
||||
package cn.iocoder.yudao.module.member.controller.app.activity.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class AppReserveQrCodeVO {
|
||||
|
||||
private Long activityPayId;
|
||||
|
||||
private String mobile;
|
||||
|
||||
private String serialNumbers;
|
||||
|
||||
private String activityName;
|
||||
|
||||
private String nickName;
|
||||
|
||||
private String type;
|
||||
|
||||
private String dish;
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
package cn.iocoder.yudao.module.member.controller.app.activity.vo;
|
||||
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class AppReserveTableVO extends PageParam {
|
||||
|
||||
private Long activityId;
|
||||
|
||||
private Long userId;
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
package cn.iocoder.yudao.module.member.controller.app.activity.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class AppUnbindVO {
|
||||
|
||||
private List<Integer> serialNumbers;
|
||||
|
||||
private String time;
|
||||
|
||||
private Long activityId;
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
package cn.iocoder.yudao.module.member.controller.app.activity.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
@Data
|
||||
public class AppUserApplyVO {
|
||||
|
||||
|
||||
@Schema(description = "活动id", requiredMode = Schema.RequiredMode.REQUIRED, example = "12749")
|
||||
@NotNull(message = "活动id不能为空")
|
||||
private Long activityId;
|
||||
|
||||
@Schema(description = "用户Id")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "电话")
|
||||
@NotBlank(message = "用户电话不能为空")
|
||||
private String mobile;
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
package cn.iocoder.yudao.module.member.controller.app.activity.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Data
|
||||
public class AppUserAwardsVO {
|
||||
|
||||
private Long id;
|
||||
private String awardsName;
|
||||
private String prize;
|
||||
private String awardsStatus;
|
||||
private LocalDateTime createTime;
|
||||
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user