已完成:场地预定流程
This commit is contained in:
@@ -1,6 +1,15 @@
|
|||||||
package com.gxwebsoft.booking.controller;
|
package com.gxwebsoft.booking.controller;
|
||||||
|
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.gxwebsoft.booking.entity.Field;
|
||||||
|
import com.gxwebsoft.booking.param.FieldParam;
|
||||||
|
import com.gxwebsoft.booking.service.FieldService;
|
||||||
|
import com.gxwebsoft.common.core.utils.RedisUtil;
|
||||||
import com.gxwebsoft.common.core.web.BaseController;
|
import com.gxwebsoft.common.core.web.BaseController;
|
||||||
import com.gxwebsoft.booking.service.PeriodService;
|
import com.gxwebsoft.booking.service.PeriodService;
|
||||||
import com.gxwebsoft.booking.entity.Period;
|
import com.gxwebsoft.booking.entity.Period;
|
||||||
@@ -11,13 +20,18 @@ import com.gxwebsoft.common.core.web.PageParam;
|
|||||||
import com.gxwebsoft.common.core.web.BatchParam;
|
import com.gxwebsoft.common.core.web.BatchParam;
|
||||||
import com.gxwebsoft.common.core.annotation.OperationLog;
|
import com.gxwebsoft.common.core.annotation.OperationLog;
|
||||||
import com.gxwebsoft.common.system.entity.User;
|
import com.gxwebsoft.common.system.entity.User;
|
||||||
|
import com.gxwebsoft.shop.entity.OrderInfo;
|
||||||
|
import com.gxwebsoft.shop.service.OrderInfoService;
|
||||||
|
import com.gxwebsoft.shop.service.OrderService;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
|
import org.springframework.util.CollectionUtils;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.util.List;
|
import java.util.*;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 场地时段控制器
|
* 场地时段控制器
|
||||||
@@ -31,6 +45,12 @@ import java.util.List;
|
|||||||
public class PeriodController extends BaseController {
|
public class PeriodController extends BaseController {
|
||||||
@Resource
|
@Resource
|
||||||
private PeriodService periodService;
|
private PeriodService periodService;
|
||||||
|
@Resource
|
||||||
|
private FieldService fieldService;
|
||||||
|
@Resource
|
||||||
|
private OrderInfoService orderInfoService;
|
||||||
|
@Resource
|
||||||
|
private RedisUtil redisUtil;
|
||||||
|
|
||||||
@ApiOperation("分页查询场地时段")
|
@ApiOperation("分页查询场地时段")
|
||||||
@GetMapping("/page")
|
@GetMapping("/page")
|
||||||
@@ -49,7 +69,53 @@ public class PeriodController extends BaseController {
|
|||||||
final String startTime = String.format("%02d", hour).concat(String.format("%02d", minute));
|
final String startTime = String.format("%02d", hour).concat(String.format("%02d", minute));
|
||||||
param.setStartTime(startTime);
|
param.setStartTime(startTime);
|
||||||
}
|
}
|
||||||
return success(periodService.listRel(param));
|
if (param.getDateTime() == null) {
|
||||||
|
return success(periodService.listRel(param));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* ====== 查询可预定时间段 ====== */
|
||||||
|
List<Period> list = periodService.listRel(param);
|
||||||
|
|
||||||
|
// 为空处理
|
||||||
|
if (CollectionUtils.isEmpty(list)) {
|
||||||
|
return fail("该场馆没有添加时间段,或预约时间已过",list);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 今日订单信息 按Key分组(组合规则:日期+时间段+场馆id+场地id)
|
||||||
|
Map<String, List<OrderInfo>> collectKey;
|
||||||
|
List<OrderInfo> orderInfoList = orderInfoService.list(new LambdaQueryWrapper<OrderInfo>().eq(OrderInfo::getDateTime, param.getDateTime()).eq(OrderInfo::getMerchantId,param.getMerchantId()));
|
||||||
|
collectKey = orderInfoList.stream().collect(Collectors.groupingBy(OrderInfo::getOrderCode));
|
||||||
|
|
||||||
|
final FieldParam fieldParam = new FieldParam();
|
||||||
|
fieldParam.setIsStatus(param.getIsStatus());
|
||||||
|
fieldParam.setMerchantId(param.getMerchantId());
|
||||||
|
List<Field> fields = fieldService.listRel(fieldParam);
|
||||||
|
|
||||||
|
redisUtil.set(param.getMerchantId().toString(),fields);
|
||||||
|
|
||||||
|
list.forEach(d -> {
|
||||||
|
// 查询可预定场地
|
||||||
|
final String string = redisUtil.get(param.getMerchantId().toString());
|
||||||
|
// 字符串转集合(从redis取数据并转为List)
|
||||||
|
final List<Field> fieldList = JSONObject.parseArray(string, Field.class);
|
||||||
|
fieldList.forEach(f -> {
|
||||||
|
final String key = getKey(param.getDateTime().concat(d.getTimePeriod().concat(d.getMerchantId().toString()).concat(f.getFieldId().toString())));
|
||||||
|
final List<OrderInfo> orderInfos = collectKey.get(key);
|
||||||
|
if (!CollectionUtils.isEmpty(orderInfos)) {
|
||||||
|
final OrderInfo orderInfo = orderInfos.get(0);
|
||||||
|
if (orderInfo.getOrderCode().equals(key)) {
|
||||||
|
f.setSold(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
f.setOrderKey(key);
|
||||||
|
f.setTimePeriod(d.getTimePeriod());
|
||||||
|
f.setPeriodId(d.getPeriodId());
|
||||||
|
f.setPrice(d.getPrice());
|
||||||
|
});
|
||||||
|
d.setFieldList(fieldList);
|
||||||
|
});
|
||||||
|
return success(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
@PreAuthorize("hasAuthority('booking:period:list')")
|
@PreAuthorize("hasAuthority('booking:period:list')")
|
||||||
@@ -119,4 +185,11 @@ public class PeriodController extends BaseController {
|
|||||||
return fail("删除失败");
|
return fail("删除失败");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String getKey (String text){
|
||||||
|
text = text.replaceAll(" +","");
|
||||||
|
text = text.replaceAll("-","");
|
||||||
|
text = text.replaceAll(":","");
|
||||||
|
return text;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,13 +1,18 @@
|
|||||||
package com.gxwebsoft.booking.entity;
|
package com.gxwebsoft.booking.entity;
|
||||||
|
|
||||||
|
import cn.hutool.core.clone.CloneSupport;
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.gxwebsoft.shop.entity.OrderInfo;
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@@ -23,7 +28,7 @@ import lombok.EqualsAndHashCode;
|
|||||||
@EqualsAndHashCode(callSuper = false)
|
@EqualsAndHashCode(callSuper = false)
|
||||||
@ApiModel(value = "Field对象", description = "场馆场地")
|
@ApiModel(value = "Field对象", description = "场馆场地")
|
||||||
@TableName("booking_field")
|
@TableName("booking_field")
|
||||||
public class Field implements Serializable {
|
public class Field extends CloneSupport<Field> implements Serializable {
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
@TableId(value = "field_id", type = IdType.AUTO)
|
@TableId(value = "field_id", type = IdType.AUTO)
|
||||||
@@ -71,12 +76,32 @@ public class Field implements Serializable {
|
|||||||
@ApiModelProperty(value = "创建时间")
|
@ApiModelProperty(value = "创建时间")
|
||||||
private Date createTime;
|
private Date createTime;
|
||||||
|
|
||||||
@ApiModelProperty(value = "是否被占用")
|
@ApiModelProperty(value = "订单信息")
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private Boolean isOccupied;
|
private List<OrderInfo> orderInfoList;
|
||||||
|
|
||||||
@ApiModelProperty(value = "1全场,2半场")
|
@ApiModelProperty(value = "已售")
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private Integer type;
|
private Boolean sold;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "已售半场")
|
||||||
|
@TableField(exist = false)
|
||||||
|
private Boolean half;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "数据组合")
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String orderKey;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "时间段ID")
|
||||||
|
@TableField(exist = false)
|
||||||
|
private Integer periodId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "时间段")
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String timePeriod;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "场地价格")
|
||||||
|
@TableField(exist = false)
|
||||||
|
private BigDecimal price;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
|
|||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
@@ -77,4 +78,8 @@ public class Period implements Serializable {
|
|||||||
@ApiModelProperty(value = "创建时间")
|
@ApiModelProperty(value = "创建时间")
|
||||||
private Date createTime;
|
private Date createTime;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "该时间段内的场地列表")
|
||||||
|
private List<Field> fieldList;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -76,4 +76,12 @@ public class PeriodParam extends BaseParam {
|
|||||||
@QueryField(type = QueryType.EQ)
|
@QueryField(type = QueryType.EQ)
|
||||||
private Integer status;
|
private Integer status;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "预定日期")
|
||||||
|
@QueryField(type = QueryType.EQ)
|
||||||
|
private String dateTime;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "是否半场")
|
||||||
|
@QueryField(type = QueryType.EQ)
|
||||||
|
private Boolean half;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,9 +3,11 @@ package com.gxwebsoft.booking.service.impl;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.gxwebsoft.booking.entity.Field;
|
import com.gxwebsoft.booking.entity.Field;
|
||||||
|
import com.gxwebsoft.booking.entity.Period;
|
||||||
import com.gxwebsoft.booking.mapper.FieldMapper;
|
import com.gxwebsoft.booking.mapper.FieldMapper;
|
||||||
import com.gxwebsoft.booking.param.FieldParam;
|
import com.gxwebsoft.booking.param.FieldParam;
|
||||||
import com.gxwebsoft.booking.service.FieldService;
|
import com.gxwebsoft.booking.service.FieldService;
|
||||||
|
import com.gxwebsoft.booking.service.PeriodService;
|
||||||
import com.gxwebsoft.common.core.web.PageParam;
|
import com.gxwebsoft.common.core.web.PageParam;
|
||||||
import com.gxwebsoft.common.core.web.PageResult;
|
import com.gxwebsoft.common.core.web.PageResult;
|
||||||
import com.gxwebsoft.shop.entity.OrderInfo;
|
import com.gxwebsoft.shop.entity.OrderInfo;
|
||||||
@@ -16,11 +18,8 @@ import org.springframework.util.CollectionUtils;
|
|||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import static com.gxwebsoft.common.core.constants.OrderConstants.PAY_STATUS_SUCCESS;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 场馆场地Service实现
|
* 场馆场地Service实现
|
||||||
*
|
*
|
||||||
@@ -32,6 +31,8 @@ public class FieldServiceImpl extends ServiceImpl<FieldMapper, Field> implements
|
|||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private OrderInfoService orderInfoService;
|
private OrderInfoService orderInfoService;
|
||||||
|
@Resource
|
||||||
|
private PeriodService periodService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageResult<Field> pageRel(FieldParam param) {
|
public PageResult<Field> pageRel(FieldParam param) {
|
||||||
@@ -47,27 +48,6 @@ public class FieldServiceImpl extends ServiceImpl<FieldMapper, Field> implements
|
|||||||
// 排序
|
// 排序
|
||||||
PageParam<Field, FieldParam> page = new PageParam<>();
|
PageParam<Field, FieldParam> page = new PageParam<>();
|
||||||
page.setDefaultOrder("sort_number desc, create_time desc");
|
page.setDefaultOrder("sort_number desc, create_time desc");
|
||||||
// 是否已被预定
|
|
||||||
if (param.getDateTime() != null) {
|
|
||||||
System.out.println("是否已被预定 = ");
|
|
||||||
System.out.println("param = " + param);
|
|
||||||
final List<OrderInfo> orderInfoList = orderInfoService.list(new LambdaQueryWrapper<OrderInfo>().eq(OrderInfo::getOrderTime, param.getDateTime()).eq(OrderInfo::getPayStatus,1).or().eq(OrderInfo::getPayStatus,3));
|
|
||||||
System.out.println("orderInfoList = " + orderInfoList);
|
|
||||||
if (!CollectionUtils.isEmpty(orderInfoList)) {
|
|
||||||
Map<Integer, List<OrderInfo>> collect = orderInfoList.stream().collect(Collectors.groupingBy(OrderInfo::getFid));
|
|
||||||
System.out.println("collect = " + collect);
|
|
||||||
for (Field item: list){
|
|
||||||
System.out.println("item = " + item);
|
|
||||||
System.out.println("collect.get(item.getFieldId()) = " + collect.get(item.getFieldId()));
|
|
||||||
final List<OrderInfo> orderInfos = collect.get(item.getFieldId());
|
|
||||||
if (!CollectionUtils.isEmpty(orderInfos)) {
|
|
||||||
item.setIsOccupied(true);
|
|
||||||
OrderInfo orderInfo = orderInfos.get(0);
|
|
||||||
item.setType(orderInfo.getType());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return page.sortRecords(list);
|
return page.sortRecords(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -84,7 +84,6 @@ public class WebsiteController extends BaseController {
|
|||||||
String key = "SiteInfo:" + tenantId;
|
String key = "SiteInfo:" + tenantId;
|
||||||
final String siteInfo = redisUtil.get(key);
|
final String siteInfo = redisUtil.get(key);
|
||||||
String access_token = JwtUtil.getAccessToken(request);
|
String access_token = JwtUtil.getAccessToken(request);
|
||||||
System.out.println("access_token = " + access_token);
|
|
||||||
// redisUtil.set("Domain:ffai.cn",10157);
|
// redisUtil.set("Domain:ffai.cn",10157);
|
||||||
// redisUtil.set("Domain:www.xn--15qx69a6lbn8t0tlmve.com",10157);
|
// redisUtil.set("Domain:www.xn--15qx69a6lbn8t0tlmve.com",10157);
|
||||||
// redisUtil.set("Domain:xn--15qx69a6lbn8t0tlmve.com",10157);
|
// redisUtil.set("Domain:xn--15qx69a6lbn8t0tlmve.com",10157);
|
||||||
|
|||||||
@@ -1,10 +1,8 @@
|
|||||||
package com.gxwebsoft.shop.controller;
|
package com.gxwebsoft.shop.controller;
|
||||||
|
|
||||||
import cn.hutool.core.date.DateTime;
|
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.util.IdUtil;
|
import cn.hutool.core.util.IdUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
|
||||||
import com.gxwebsoft.common.core.web.BaseController;
|
import com.gxwebsoft.common.core.web.BaseController;
|
||||||
import com.gxwebsoft.shop.entity.OrderInfo;
|
import com.gxwebsoft.shop.entity.OrderInfo;
|
||||||
import com.gxwebsoft.shop.service.OrderInfoService;
|
import com.gxwebsoft.shop.service.OrderInfoService;
|
||||||
@@ -17,13 +15,6 @@ import com.gxwebsoft.common.core.web.PageParam;
|
|||||||
import com.gxwebsoft.common.core.web.BatchParam;
|
import com.gxwebsoft.common.core.web.BatchParam;
|
||||||
import com.gxwebsoft.common.core.annotation.OperationLog;
|
import com.gxwebsoft.common.core.annotation.OperationLog;
|
||||||
import com.gxwebsoft.common.system.entity.User;
|
import com.gxwebsoft.common.system.entity.User;
|
||||||
import com.wechat.pay.java.core.Config;
|
|
||||||
import com.wechat.pay.java.core.RSAConfig;
|
|
||||||
import com.wechat.pay.java.service.payments.jsapi.JsapiServiceExtension;
|
|
||||||
import com.wechat.pay.java.service.payments.jsapi.model.Amount;
|
|
||||||
import com.wechat.pay.java.service.payments.jsapi.model.Payer;
|
|
||||||
import com.wechat.pay.java.service.payments.jsapi.model.PrepayRequest;
|
|
||||||
import com.wechat.pay.java.service.payments.jsapi.model.PrepayWithRequestPaymentResponse;
|
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
@@ -31,19 +22,15 @@ import org.springframework.web.bind.annotation.*;
|
|||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 预约订单控制器
|
* 订单控制器
|
||||||
*
|
*
|
||||||
* @author 科技小王子
|
* @author 科技小王子
|
||||||
* @since 2024-04-25 22:01:33
|
* @since 2024-05-14 13:20:04
|
||||||
*/
|
*/
|
||||||
@Api(tags = "预约订单管理")
|
@Api(tags = "订单管理")
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/api/shop/order")
|
@RequestMapping("/api/shop/order")
|
||||||
public class OrderController extends BaseController {
|
public class OrderController extends BaseController {
|
||||||
@@ -52,15 +39,14 @@ public class OrderController extends BaseController {
|
|||||||
@Resource
|
@Resource
|
||||||
private OrderInfoService orderInfoService;
|
private OrderInfoService orderInfoService;
|
||||||
|
|
||||||
@ApiOperation("分页查询预约订单")
|
@ApiOperation("分页查询订单")
|
||||||
@GetMapping("/page")
|
@GetMapping("/page")
|
||||||
public ApiResult<PageResult<Order>> page(OrderParam param) {
|
public ApiResult<PageResult<Order>> page(OrderParam param) {
|
||||||
// 使用关联查询
|
// 使用关联查询
|
||||||
return success(orderService.pageRel(param));
|
return success(orderService.pageRel(param));
|
||||||
}
|
}
|
||||||
|
|
||||||
@PreAuthorize("hasAuthority('shop:order:list')")
|
@ApiOperation("查询全部订单")
|
||||||
@ApiOperation("查询全部预约订单")
|
|
||||||
@GetMapping()
|
@GetMapping()
|
||||||
public ApiResult<List<Order>> list(OrderParam param) {
|
public ApiResult<List<Order>> list(OrderParam param) {
|
||||||
// 使用关联查询
|
// 使用关联查询
|
||||||
@@ -68,7 +54,7 @@ public class OrderController extends BaseController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@PreAuthorize("hasAuthority('shop:order:list')")
|
@PreAuthorize("hasAuthority('shop:order:list')")
|
||||||
@ApiOperation("根据id查询预约订单")
|
@ApiOperation("根据id查询订单")
|
||||||
@GetMapping("/{id}")
|
@GetMapping("/{id}")
|
||||||
public ApiResult<Order> get(@PathVariable("id") Integer id) {
|
public ApiResult<Order> get(@PathVariable("id") Integer id) {
|
||||||
// 使用关联查询
|
// 使用关联查询
|
||||||
@@ -79,21 +65,22 @@ public class OrderController extends BaseController {
|
|||||||
@ApiOperation("下单")
|
@ApiOperation("下单")
|
||||||
@PostMapping()
|
@PostMapping()
|
||||||
public ApiResult<?> save(@RequestBody Order order) {
|
public ApiResult<?> save(@RequestBody Order order) {
|
||||||
|
System.out.println("order = " + order);
|
||||||
// 记录当前登录用户id
|
// 记录当前登录用户id
|
||||||
User loginUser = getLoginUser();
|
User loginUser = getLoginUser();
|
||||||
if (loginUser == null) {
|
if (loginUser == null) {
|
||||||
return fail("请先登录");
|
return fail("请先登录");
|
||||||
}
|
}
|
||||||
// 微信openid(必填)
|
// 微信openid(必填)
|
||||||
if(StrUtil.isBlank(loginUser.getOpenid())){
|
if (StrUtil.isBlank(loginUser.getOpenid())) {
|
||||||
return fail("微信openid(必填)");
|
return fail("微信openid(必填)");
|
||||||
}
|
}
|
||||||
// 商品描述(必填)
|
// 商品描述(必填)
|
||||||
if(StrUtil.isBlank(order.getComments())){
|
if (StrUtil.isBlank(order.getComments())) {
|
||||||
return fail("商品描述(必填)");
|
return fail("商品描述(必填)");
|
||||||
}
|
}
|
||||||
// 微信支付(商品金额不能为0)
|
// 微信支付(商品金额不能为0)
|
||||||
if(order.getPayType().equals(1)){
|
if (order.getPayType().equals(1)) {
|
||||||
if (order.getTotalPrice().compareTo(BigDecimal.ZERO) == 0) {
|
if (order.getTotalPrice().compareTo(BigDecimal.ZERO) == 0) {
|
||||||
return fail("商品金额不能为0");
|
return fail("商品金额不能为0");
|
||||||
}
|
}
|
||||||
@@ -109,26 +96,28 @@ public class OrderController extends BaseController {
|
|||||||
order.setPhone(loginUser.getPhone());
|
order.setPhone(loginUser.getPhone());
|
||||||
order.setUserId(loginUser.getUserId());
|
order.setUserId(loginUser.getUserId());
|
||||||
// List<Date> collect = order.getOrderInfoList().stream().map(OrderInfo::getStartTime).collect(Collectors.toList());
|
// List<Date> collect = order.getOrderInfoList().stream().map(OrderInfo::getStartTime).collect(Collectors.toList());
|
||||||
OrderInfo orderInfo = order.getOrderInfoList().get(0);
|
// OrderInfo orderInfo = order.getOrderInfoList().get(0);
|
||||||
order.setStartTime(DateUtil.formatTime(orderInfo.getStartTime()));
|
// order.setStartTime(DateUtil.formatTime(orderInfo.getStartTime()));
|
||||||
order.setVersion(10);
|
// order.setVersion(10);
|
||||||
|
System.out.println("order = " + order);
|
||||||
if (orderService.save(order)) {
|
if (orderService.save(order)) {
|
||||||
order.getOrderInfoList().forEach(d -> {
|
order.getOrderInfoList().forEach(d -> {
|
||||||
d.setOid(order.getOrderId());
|
d.setOrderId(order.getOrderId());
|
||||||
d.setTimeFlag(timeMillis);
|
d.setTimeFlag(timeMillis);
|
||||||
d.setVersion(10);
|
d.setVersion(10);
|
||||||
d.setOrderTime(d.getOrderTime());
|
d.setUserId(getLoginUser().getUserId());
|
||||||
|
d.setDateTime(d.getDateTime());
|
||||||
});
|
});
|
||||||
orderInfoService.saveBatch(order.getOrderInfoList());
|
orderInfoService.saveBatch(order.getOrderInfoList());
|
||||||
// 创建微信订单
|
// 创建微信订单
|
||||||
if (order.getPayType().equals(1)) {
|
if (order.getPayType().equals(1)) {
|
||||||
return success("下单成功",orderService.createWxOrder(order));
|
return success("下单成功", orderService.createWxOrder(order));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return fail("下单失败");
|
return fail("下单失败");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("修改预约订单")
|
@ApiOperation("修改订单")
|
||||||
@PutMapping()
|
@PutMapping()
|
||||||
public ApiResult<?> update(@RequestBody Order order) {
|
public ApiResult<?> update(@RequestBody Order order) {
|
||||||
if (orderService.updateById(order)) {
|
if (orderService.updateById(order)) {
|
||||||
@@ -137,7 +126,7 @@ public class OrderController extends BaseController {
|
|||||||
return fail("修改失败");
|
return fail("修改失败");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("删除预约订单")
|
@ApiOperation("删除订单")
|
||||||
@DeleteMapping("/{id}")
|
@DeleteMapping("/{id}")
|
||||||
public ApiResult<?> remove(@PathVariable("id") Integer id) {
|
public ApiResult<?> remove(@PathVariable("id") Integer id) {
|
||||||
if (orderService.removeById(id)) {
|
if (orderService.removeById(id)) {
|
||||||
@@ -146,7 +135,7 @@ public class OrderController extends BaseController {
|
|||||||
return fail("删除失败");
|
return fail("删除失败");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("批量添加预约订单")
|
@ApiOperation("批量添加订单")
|
||||||
@PostMapping("/batch")
|
@PostMapping("/batch")
|
||||||
public ApiResult<?> saveBatch(@RequestBody List<Order> list) {
|
public ApiResult<?> saveBatch(@RequestBody List<Order> list) {
|
||||||
if (orderService.saveBatch(list)) {
|
if (orderService.saveBatch(list)) {
|
||||||
@@ -155,7 +144,7 @@ public class OrderController extends BaseController {
|
|||||||
return fail("添加失败");
|
return fail("添加失败");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("批量修改预约订单")
|
@ApiOperation("批量修改订单")
|
||||||
@PutMapping("/batch")
|
@PutMapping("/batch")
|
||||||
public ApiResult<?> removeBatch(@RequestBody BatchParam<Order> batchParam) {
|
public ApiResult<?> removeBatch(@RequestBody BatchParam<Order> batchParam) {
|
||||||
if (batchParam.update(orderService, "order_id")) {
|
if (batchParam.update(orderService, "order_id")) {
|
||||||
@@ -164,7 +153,7 @@ public class OrderController extends BaseController {
|
|||||||
return fail("修改失败");
|
return fail("修改失败");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("批量删除预约订单")
|
@ApiOperation("批量删除订单")
|
||||||
@DeleteMapping("/batch")
|
@DeleteMapping("/batch")
|
||||||
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
|
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
|
||||||
if (orderService.removeByIds(ids)) {
|
if (orderService.removeByIds(ids)) {
|
||||||
|
|||||||
@@ -19,26 +19,26 @@ import javax.annotation.Resource;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 控制器
|
* 场地控制器
|
||||||
*
|
*
|
||||||
* @author 科技小王子
|
* @author 科技小王子
|
||||||
* @since 2024-05-13 19:50:43
|
* @since 2024-05-14 13:20:04
|
||||||
*/
|
*/
|
||||||
@Api(tags = "管理")
|
@Api(tags = "场地管理")
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/api/shop/order-info")
|
@RequestMapping("/api/shop/order-info")
|
||||||
public class OrderInfoController extends BaseController {
|
public class OrderInfoController extends BaseController {
|
||||||
@Resource
|
@Resource
|
||||||
private OrderInfoService orderInfoService;
|
private OrderInfoService orderInfoService;
|
||||||
|
|
||||||
@ApiOperation("分页查询")
|
@ApiOperation("分页查询场地")
|
||||||
@GetMapping("/page")
|
@GetMapping("/page")
|
||||||
public ApiResult<PageResult<OrderInfo>> page(OrderInfoParam param) {
|
public ApiResult<PageResult<OrderInfo>> page(OrderInfoParam param) {
|
||||||
// 使用关联查询
|
// 使用关联查询
|
||||||
return success(orderInfoService.pageRel(param));
|
return success(orderInfoService.pageRel(param));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("查询全部")
|
@ApiOperation("查询全部场地")
|
||||||
@GetMapping()
|
@GetMapping()
|
||||||
public ApiResult<List<OrderInfo>> list(OrderInfoParam param) {
|
public ApiResult<List<OrderInfo>> list(OrderInfoParam param) {
|
||||||
// 使用关联查询
|
// 使用关联查询
|
||||||
@@ -46,28 +46,28 @@ public class OrderInfoController extends BaseController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@PreAuthorize("hasAuthority('shop:orderInfo:list')")
|
@PreAuthorize("hasAuthority('shop:orderInfo:list')")
|
||||||
@ApiOperation("根据id查询")
|
@ApiOperation("根据id查询场地")
|
||||||
@GetMapping("/{id}")
|
@GetMapping("/{id}")
|
||||||
public ApiResult<OrderInfo> get(@PathVariable("id") Integer id) {
|
public ApiResult<OrderInfo> get(@PathVariable("id") Integer id) {
|
||||||
// 使用关联查询
|
// 使用关联查询
|
||||||
return success(orderInfoService.getByIdRel(id));
|
return success(orderInfoService.getByIdRel(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("添加")
|
@ApiOperation("添加场地")
|
||||||
@PostMapping()
|
@PostMapping()
|
||||||
public ApiResult<?> save(@RequestBody OrderInfo orderInfo) {
|
public ApiResult<?> save(@RequestBody OrderInfo orderInfo) {
|
||||||
// 记录当前登录用户id
|
// 记录当前登录用户id
|
||||||
User loginUser = getLoginUser();
|
// User loginUser = getLoginUser();
|
||||||
if (loginUser != null) {
|
// if (loginUser != null) {
|
||||||
orderInfo.setUserId(loginUser.getUserId());
|
// orderInfo.setUserId(loginUser.getUserId());
|
||||||
}
|
// }
|
||||||
if (orderInfoService.save(orderInfo)) {
|
if (orderInfoService.save(orderInfo)) {
|
||||||
return success("添加成功");
|
return success("添加成功");
|
||||||
}
|
}
|
||||||
return fail("添加失败");
|
return fail("添加失败");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("修改")
|
@ApiOperation("修改场地")
|
||||||
@PutMapping()
|
@PutMapping()
|
||||||
public ApiResult<?> update(@RequestBody OrderInfo orderInfo) {
|
public ApiResult<?> update(@RequestBody OrderInfo orderInfo) {
|
||||||
if (orderInfoService.updateById(orderInfo)) {
|
if (orderInfoService.updateById(orderInfo)) {
|
||||||
@@ -76,7 +76,7 @@ public class OrderInfoController extends BaseController {
|
|||||||
return fail("修改失败");
|
return fail("修改失败");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("删除")
|
@ApiOperation("删除场地")
|
||||||
@DeleteMapping("/{id}")
|
@DeleteMapping("/{id}")
|
||||||
public ApiResult<?> remove(@PathVariable("id") Integer id) {
|
public ApiResult<?> remove(@PathVariable("id") Integer id) {
|
||||||
if (orderInfoService.removeById(id)) {
|
if (orderInfoService.removeById(id)) {
|
||||||
@@ -85,7 +85,7 @@ public class OrderInfoController extends BaseController {
|
|||||||
return fail("删除失败");
|
return fail("删除失败");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("批量添加")
|
@ApiOperation("批量添加场地")
|
||||||
@PostMapping("/batch")
|
@PostMapping("/batch")
|
||||||
public ApiResult<?> saveBatch(@RequestBody List<OrderInfo> list) {
|
public ApiResult<?> saveBatch(@RequestBody List<OrderInfo> list) {
|
||||||
if (orderInfoService.saveBatch(list)) {
|
if (orderInfoService.saveBatch(list)) {
|
||||||
@@ -94,7 +94,7 @@ public class OrderInfoController extends BaseController {
|
|||||||
return fail("添加失败");
|
return fail("添加失败");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("批量修改")
|
@ApiOperation("批量修改场地")
|
||||||
@PutMapping("/batch")
|
@PutMapping("/batch")
|
||||||
public ApiResult<?> removeBatch(@RequestBody BatchParam<OrderInfo> batchParam) {
|
public ApiResult<?> removeBatch(@RequestBody BatchParam<OrderInfo> batchParam) {
|
||||||
if (batchParam.update(orderInfoService, "id")) {
|
if (batchParam.update(orderInfoService, "id")) {
|
||||||
@@ -103,7 +103,7 @@ public class OrderInfoController extends BaseController {
|
|||||||
return fail("修改失败");
|
return fail("修改失败");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("批量删除")
|
@ApiOperation("批量删除场地")
|
||||||
@DeleteMapping("/batch")
|
@DeleteMapping("/batch")
|
||||||
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
|
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
|
||||||
if (orderInfoService.removeByIds(ids)) {
|
if (orderInfoService.removeByIds(ids)) {
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ import java.util.List;
|
|||||||
* 订单核销控制器
|
* 订单核销控制器
|
||||||
*
|
*
|
||||||
* @author 科技小王子
|
* @author 科技小王子
|
||||||
* @since 2024-05-03 11:15:22
|
* @since 2024-05-14 13:20:04
|
||||||
*/
|
*/
|
||||||
@Api(tags = "订单核销管理")
|
@Api(tags = "订单核销管理")
|
||||||
@RestController
|
@RestController
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import com.gxwebsoft.common.core.web.BaseController;
|
|||||||
import com.gxwebsoft.shop.entity.Order;
|
import com.gxwebsoft.shop.entity.Order;
|
||||||
import com.gxwebsoft.shop.entity.Payment;
|
import com.gxwebsoft.shop.entity.Payment;
|
||||||
import com.gxwebsoft.shop.service.OrderService;
|
import com.gxwebsoft.shop.service.OrderService;
|
||||||
|
import com.sun.xml.internal.bind.v2.TODO;
|
||||||
import com.wechat.pay.java.core.notification.NotificationConfig;
|
import com.wechat.pay.java.core.notification.NotificationConfig;
|
||||||
import com.wechat.pay.java.core.notification.NotificationParser;
|
import com.wechat.pay.java.core.notification.NotificationParser;
|
||||||
import com.wechat.pay.java.core.notification.RSANotificationConfig;
|
import com.wechat.pay.java.core.notification.RSANotificationConfig;
|
||||||
@@ -22,9 +23,6 @@ import java.math.BigDecimal;
|
|||||||
import java.text.DecimalFormat;
|
import java.text.DecimalFormat;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import static com.gxwebsoft.common.core.constants.OrderConstants.PAY_STATUS_NO_PAY;
|
|
||||||
import static com.gxwebsoft.common.core.constants.OrderConstants.PAY_STATUS_SUCCESS;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员特权购买记录表控制器
|
* 会员特权购买记录表控制器
|
||||||
*
|
*
|
||||||
@@ -102,22 +100,25 @@ public class WxPayNotifyController extends BaseController {
|
|||||||
if (StrUtil.equals("支付成功", tradeStateDesc)) {
|
if (StrUtil.equals("支付成功", tradeStateDesc)) {
|
||||||
// 1. 查询要处理的订单
|
// 1. 查询要处理的订单
|
||||||
Order order = orderService.getByOutTradeNo(outTradeNo);
|
Order order = orderService.getByOutTradeNo(outTradeNo);
|
||||||
System.out.println("order = " + order);
|
|
||||||
// 2. 已支付则跳过
|
// 2. 已支付则跳过
|
||||||
if (order.getPayStatus().equals(PAY_STATUS_SUCCESS)) {
|
if (order.getPayStatus().equals(true)) {
|
||||||
return "SUCCESS";
|
return "SUCCESS";
|
||||||
}
|
}
|
||||||
// 2. 未支付则处理更新订单状态
|
// 2. 未支付则处理更新订单状态
|
||||||
if (order.getPayStatus().equals(PAY_STATUS_NO_PAY)) {
|
if (order.getPayStatus().equals(false)) {
|
||||||
// 5. TODO 处理订单状态
|
// 5. TODO 处理订单状态
|
||||||
order.setPayTime(DateUtil.date());
|
order.setPayTime(DateUtil.date());
|
||||||
order.setPayStatus(PAY_STATUS_SUCCESS);
|
order.setPayStatus(true);
|
||||||
order.setTransactionId(transactionId);
|
order.setTransactionId(transactionId);
|
||||||
// 实际付款金额:Integer除以100后转BigDecimal
|
// 实际付款金额:Integer除以100后转BigDecimal
|
||||||
DecimalFormat df = new DecimalFormat("0.00");
|
DecimalFormat df = new DecimalFormat("0.00");
|
||||||
final String format = df.format(total / 100);
|
final String format = df.format(total / 100);
|
||||||
order.setPayPrice(new BigDecimal(format));
|
order.setPayPrice(new BigDecimal(format));
|
||||||
|
System.out.println("实际付款金额 = " + order);
|
||||||
orderService.updateByOutTradeNo(order);
|
orderService.updateByOutTradeNo(order);
|
||||||
|
// 6. TODO 同步更新订单明细的支付状态
|
||||||
|
|
||||||
|
|
||||||
return "SUCCESS";
|
return "SUCCESS";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import java.math.BigDecimal;
|
|||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.*;
|
import com.baomidou.mybatisplus.annotation.*;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -14,14 +15,14 @@ import lombok.Data;
|
|||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 预约订单
|
* 订单
|
||||||
*
|
*
|
||||||
* @author 科技小王子
|
* @author 科技小王子
|
||||||
* @since 2024-04-25 22:01:33
|
* @since 2024-05-14 13:20:04
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = false)
|
@EqualsAndHashCode(callSuper = false)
|
||||||
@ApiModel(value = "Order对象", description = "预约订单")
|
@ApiModel(value = "Order对象", description = "订单")
|
||||||
@TableName("shop_order")
|
@TableName("shop_order")
|
||||||
public class Order implements Serializable {
|
public class Order implements Serializable {
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
@@ -34,31 +35,28 @@ public class Order implements Serializable {
|
|||||||
private String orderNo;
|
private String orderNo;
|
||||||
|
|
||||||
@ApiModelProperty(value = "微信支付订单号")
|
@ApiModelProperty(value = "微信支付订单号")
|
||||||
private String wechatOrder;
|
private String transactionId;
|
||||||
|
|
||||||
@ApiModelProperty(value = "微信退款订单号")
|
@ApiModelProperty(value = "微信退款订单号")
|
||||||
private String refundOrder;
|
private String refundOrder;
|
||||||
|
|
||||||
@ApiModelProperty(value = "场馆id用于权限判断")
|
@ApiModelProperty(value = "商户ID")
|
||||||
private Integer merchantId;
|
private Integer merchantId;
|
||||||
|
|
||||||
@ApiModelProperty(value = "用户id")
|
|
||||||
private Integer userId;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "使用的优惠券id")
|
@ApiModelProperty(value = "使用的优惠券id")
|
||||||
private Integer couponId;
|
private Integer couponId;
|
||||||
|
|
||||||
@ApiModelProperty(value = "使用的会员卡id")
|
@ApiModelProperty(value = "使用的会员卡id")
|
||||||
private Integer cardId;
|
private String cardId;
|
||||||
|
|
||||||
@ApiModelProperty(value = "关联管理员id")
|
@ApiModelProperty(value = "关联管理员id")
|
||||||
private Integer aid;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "核销管理员id")
|
|
||||||
private Integer adminId;
|
private Integer adminId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "核销管理员id")
|
||||||
|
private Integer confirmId;
|
||||||
|
|
||||||
@ApiModelProperty(value = "IC卡号")
|
@ApiModelProperty(value = "IC卡号")
|
||||||
private String code;
|
private String icCard;
|
||||||
|
|
||||||
@ApiModelProperty(value = "真实姓名")
|
@ApiModelProperty(value = "真实姓名")
|
||||||
private String realName;
|
private String realName;
|
||||||
@@ -90,27 +88,24 @@ public class Order implements Serializable {
|
|||||||
@ApiModelProperty(value = "教练id")
|
@ApiModelProperty(value = "教练id")
|
||||||
private Integer coachId;
|
private Integer coachId;
|
||||||
|
|
||||||
@ApiModelProperty(value = "支付流水号")
|
@ApiModelProperty(value = "0余额支付, 1微信支付,2积分,3支付宝,4现金,5POS机,6VIP月卡,7VIP年卡,8VIP次卡,9IC月卡,10IC年卡,11IC次卡,12免费,13VIP充值卡,14IC充值卡,15积分支付,16VIP季卡,17IC季卡")
|
||||||
private String transactionId;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "1微信支付,2积分,3支付宝,4现金,5POS机,6VIP月卡,7VIP年卡,8VIP次卡,9IC月卡,10IC年卡,11IC次卡,12免费,13VIP充值卡,14IC充值卡,15积分支付,16VIP季卡,17IC季卡")
|
|
||||||
private Integer payType;
|
private Integer payType;
|
||||||
|
|
||||||
@ApiModelProperty(value = "1已付款,2未付款")
|
@ApiModelProperty(value = "0未付款,1已付款")
|
||||||
private Integer payStatus;
|
private Boolean payStatus;
|
||||||
|
|
||||||
@ApiModelProperty(value = "1已完成,2未使用,3已取消,4退款申请中,5退款被拒绝,6退款成功,7客户端申请退款")
|
@ApiModelProperty(value = "0未使用,1已完成,2已取消,3取消中,4退款申请中,5退款被拒绝,6退款成功,7客户端申请退款")
|
||||||
private Integer orderStatus;
|
private Integer orderStatus;
|
||||||
|
|
||||||
@ApiModelProperty(value = "优惠类型:0无、1抵扣优惠券、2折扣优惠券、3、VIP月卡、4VIP年卡,5VIP次卡、6VIP会员卡、7IC月卡、8IC年卡、9IC次卡、10IC会员卡、11免费订单、12VIP充值卡、13IC充值卡、14VIP季卡、15IC季卡")
|
@ApiModelProperty(value = "优惠类型:0无、1抵扣优惠券、2折扣优惠券、3、VIP月卡、4VIP年卡,5VIP次卡、6VIP会员卡、7IC月卡、8IC年卡、9IC次卡、10IC会员卡、11免费订单、12VIP充值卡、13IC充值卡、14VIP季卡、15IC季卡")
|
||||||
private Integer type;
|
private Integer couponType;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "优惠说明")
|
||||||
|
private String couponDesc;
|
||||||
|
|
||||||
@ApiModelProperty(value = "二维码地址,保存订单号,支付成功后才生成")
|
@ApiModelProperty(value = "二维码地址,保存订单号,支付成功后才生成")
|
||||||
private String qrcode;
|
private String qrcode;
|
||||||
|
|
||||||
@ApiModelProperty(value = "优惠说明")
|
|
||||||
private String desc;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "vip月卡年卡、ic月卡年卡回退次数")
|
@ApiModelProperty(value = "vip月卡年卡、ic月卡年卡回退次数")
|
||||||
private Integer returnNum;
|
private Integer returnNum;
|
||||||
|
|
||||||
@@ -120,49 +115,48 @@ public class Order implements Serializable {
|
|||||||
@ApiModelProperty(value = "预约详情开始时间数组")
|
@ApiModelProperty(value = "预约详情开始时间数组")
|
||||||
private String startTime;
|
private String startTime;
|
||||||
|
|
||||||
@ApiModelProperty(value = "是否已开具发票:1已开发票,2未开发票,3不能开具发票")
|
@ApiModelProperty(value = "是否已开具发票:0未开发票,1已开发票,2不能开具发票")
|
||||||
private Integer isInvoice;
|
private Boolean isInvoice;
|
||||||
|
|
||||||
@ApiModelProperty(value = "下单时间")
|
@ApiModelProperty(value = "支付时间")
|
||||||
private Long addTime;
|
|
||||||
|
|
||||||
private Integer updateTime;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "付款时间")
|
|
||||||
private Date payTime;
|
private Date payTime;
|
||||||
|
|
||||||
@ApiModelProperty(value = "退款时间")
|
@ApiModelProperty(value = "退款时间")
|
||||||
private Integer refundTime;
|
private Date refundTime;
|
||||||
|
|
||||||
@ApiModelProperty(value = "申请退款时间")
|
@ApiModelProperty(value = "申请退款时间")
|
||||||
private Integer refundApplyTime;
|
private Date refundApplyTime;
|
||||||
|
|
||||||
@ApiModelProperty(value = "对账情况:1=已对账;2=未对账;3=已对账,金额对不上;4=未查询到该订单")
|
@ApiModelProperty(value = "对账情况:0=未对账;1=已对账;3=已对账,金额对不上;4=未查询到该订单")
|
||||||
private Integer checkBill;
|
private Integer checkBill;
|
||||||
|
|
||||||
@ApiModelProperty(value = "系统版本")
|
@ApiModelProperty(value = "订单是否已结算(0未结算 1已结算)")
|
||||||
|
private Integer isSettled;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "系统版本号 0当前版本 value=其他版本")
|
||||||
private Integer version;
|
private Integer version;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "用户id")
|
||||||
|
private Integer userId;
|
||||||
|
|
||||||
@ApiModelProperty(value = "备注")
|
@ApiModelProperty(value = "备注")
|
||||||
private String comments;
|
private String comments;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "排序号")
|
||||||
|
private Integer sortNumber;
|
||||||
|
|
||||||
@ApiModelProperty(value = "是否删除, 0否, 1是")
|
@ApiModelProperty(value = "是否删除, 0否, 1是")
|
||||||
@TableLogic
|
@TableLogic
|
||||||
private Integer deleted;
|
private Integer deleted;
|
||||||
|
|
||||||
@ApiModelProperty(value = "创建时间")
|
|
||||||
private Date createTime;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "租户id")
|
@ApiModelProperty(value = "租户id")
|
||||||
private Integer tenantId;
|
private Integer tenantId;
|
||||||
|
|
||||||
@ApiModelProperty(value = "商户名称")
|
@ApiModelProperty(value = "修改时间")
|
||||||
@TableField(exist = false)
|
private Date updateTime;
|
||||||
private String merchantName;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "商户图标")
|
@ApiModelProperty(value = "创建时间")
|
||||||
@TableField(exist = false)
|
private Date createTime;
|
||||||
private String merchantAvatar;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "微信OPENID,用于微信支付")
|
@ApiModelProperty(value = "微信OPENID,用于微信支付")
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
|
|||||||
@@ -5,7 +5,9 @@ import java.math.BigDecimal;
|
|||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import java.time.LocalDate;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import java.time.LocalTime;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
@@ -16,36 +18,40 @@ import lombok.Data;
|
|||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
* 场地
|
||||||
*
|
*
|
||||||
* @author 科技小王子
|
* @author 科技小王子
|
||||||
* @since 2024-05-13 19:50:43
|
* @since 2024-05-14 13:20:04
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = false)
|
@EqualsAndHashCode(callSuper = false)
|
||||||
@ApiModel(value = "OrderInfo对象", description = "")
|
@ApiModel(value = "OrderInfo对象", description = "场地")
|
||||||
@TableName("shop_order_info")
|
@TableName("shop_order_info")
|
||||||
public class OrderInfo implements Serializable {
|
public class OrderInfo implements Serializable {
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "自增ID")
|
||||||
@TableId(value = "id", type = IdType.AUTO)
|
@TableId(value = "id", type = IdType.AUTO)
|
||||||
private Integer id;
|
private Integer id;
|
||||||
|
|
||||||
@ApiModelProperty(value = "关联订单表id")
|
@ApiModelProperty(value = "关联订单表id")
|
||||||
private Integer oid;
|
private Integer orderId;
|
||||||
|
|
||||||
@ApiModelProperty(value = "关联场馆id")
|
@ApiModelProperty(value = "组合数据:日期+时间段+场馆id+场地id")
|
||||||
private Integer sid;
|
private String orderCode;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "关联商户ID")
|
||||||
|
private Integer merchantId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "商户名称")
|
||||||
|
private String merchantName;
|
||||||
|
|
||||||
@ApiModelProperty(value = "关联场地id")
|
@ApiModelProperty(value = "关联场地id")
|
||||||
private Integer fid;
|
private Integer fieldId;
|
||||||
|
|
||||||
@ApiModelProperty(value = "场地")
|
@ApiModelProperty(value = "场地名称")
|
||||||
private String fieldName;
|
private String fieldName;
|
||||||
|
|
||||||
@ApiModelProperty(value = "预约时间段")
|
|
||||||
private String timePeriod;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "单价")
|
@ApiModelProperty(value = "单价")
|
||||||
private BigDecimal price;
|
private BigDecimal price;
|
||||||
|
|
||||||
@@ -58,42 +64,46 @@ public class OrderInfo implements Serializable {
|
|||||||
@ApiModelProperty(value = "儿童人数")
|
@ApiModelProperty(value = "儿童人数")
|
||||||
private Integer childrenNum;
|
private Integer childrenNum;
|
||||||
|
|
||||||
@ApiModelProperty(value = "1已付款,2未付款,3无需付款或占用状态")
|
@ApiModelProperty(value = "0 未付款 1已付款,2无需付款或占用状态")
|
||||||
private Integer payStatus;
|
private Integer payStatus;
|
||||||
|
|
||||||
@ApiModelProperty(value = "是否免费:1免费、2收费")
|
@ApiModelProperty(value = "是否免费:0收费、1免费")
|
||||||
private Integer isFree;
|
private Boolean isFree;
|
||||||
|
|
||||||
@ApiModelProperty(value = "是否支持儿童票:1支持,2不支持")
|
@ApiModelProperty(value = "是否支持儿童票:0不支持、1支持")
|
||||||
private Integer isChildren;
|
private Boolean isChildren;
|
||||||
|
|
||||||
@ApiModelProperty(value = "系统版本号 10新版 0旧版")
|
@ApiModelProperty(value = "系统版本 0当前版本 其他版本")
|
||||||
private Integer version;
|
private Integer version;
|
||||||
|
|
||||||
@ApiModelProperty(value = "预订类型:1全场,2半场")
|
@ApiModelProperty(value = "预订类型:0全场,1半场")
|
||||||
private Integer type;
|
private Boolean isHalf;
|
||||||
|
|
||||||
@ApiModelProperty(value = "组合数据:日期+时间段+场馆id+场地id")
|
@ApiModelProperty(value = "预约时间段")
|
||||||
private String mergeData;
|
private String timePeriod;
|
||||||
|
|
||||||
@ApiModelProperty(value = "备注")
|
@ApiModelProperty(value = "预定日期")
|
||||||
private String comments;
|
private String dateTime;
|
||||||
|
|
||||||
@ApiModelProperty(value = "开场时间")
|
@ApiModelProperty(value = "开场时间")
|
||||||
private Date startTime;
|
private String startTime;
|
||||||
|
|
||||||
@ApiModelProperty(value = "下单时间")
|
@ApiModelProperty(value = "结束时间")
|
||||||
private Date orderTime;
|
private String endTime;
|
||||||
|
|
||||||
@ApiModelProperty(value = "毫秒时间戳")
|
@ApiModelProperty(value = "毫秒时间戳")
|
||||||
private Long timeFlag;
|
private Long timeFlag;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "备注")
|
||||||
|
private String comments;
|
||||||
|
|
||||||
@ApiModelProperty(value = "用户id")
|
@ApiModelProperty(value = "用户id")
|
||||||
private Integer userId;
|
private Integer userId;
|
||||||
|
|
||||||
@ApiModelProperty(value = "租户id")
|
@ApiModelProperty(value = "租户id")
|
||||||
private Integer tenantId;
|
private Integer tenantId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "更新时间")
|
||||||
private Date updateTime;
|
private Date updateTime;
|
||||||
|
|
||||||
@ApiModelProperty(value = "创建时间")
|
@ApiModelProperty(value = "创建时间")
|
||||||
|
|||||||
@@ -3,7 +3,10 @@ package com.gxwebsoft.shop.entity;
|
|||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@@ -13,7 +16,7 @@ import lombok.EqualsAndHashCode;
|
|||||||
* 订单核销
|
* 订单核销
|
||||||
*
|
*
|
||||||
* @author 科技小王子
|
* @author 科技小王子
|
||||||
* @since 2024-05-03 11:15:22
|
* @since 2024-05-14 13:20:04
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = false)
|
@EqualsAndHashCode(callSuper = false)
|
||||||
@@ -26,21 +29,21 @@ public class OrderInfoLog implements Serializable {
|
|||||||
private Integer id;
|
private Integer id;
|
||||||
|
|
||||||
@ApiModelProperty(value = "关联订单表id")
|
@ApiModelProperty(value = "关联订单表id")
|
||||||
private Integer oid;
|
private Integer orderId;
|
||||||
|
|
||||||
@ApiModelProperty(value = "关联场馆id")
|
@ApiModelProperty(value = "关联商户ID")
|
||||||
private Integer sid;
|
private Integer merchantId;
|
||||||
|
|
||||||
@ApiModelProperty(value = "关联场地id")
|
@ApiModelProperty(value = "关联场地id")
|
||||||
private Integer fid;
|
private Integer fieldId;
|
||||||
|
|
||||||
@ApiModelProperty(value = "核销数量")
|
@ApiModelProperty(value = "核销数量")
|
||||||
private Boolean useNum;
|
private Boolean useNum;
|
||||||
|
|
||||||
@ApiModelProperty(value = "核销时间")
|
|
||||||
private Integer createTime;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "租户id")
|
@ApiModelProperty(value = "租户id")
|
||||||
private Integer tenantId;
|
private Integer tenantId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "创建时间")
|
||||||
|
private Date createTime;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import java.util.List;
|
|||||||
* 订单核销Mapper
|
* 订单核销Mapper
|
||||||
*
|
*
|
||||||
* @author 科技小王子
|
* @author 科技小王子
|
||||||
* @since 2024-05-03 11:15:22
|
* @since 2024-05-14 13:20:04
|
||||||
*/
|
*/
|
||||||
public interface OrderInfoLogMapper extends BaseMapper<OrderInfoLog> {
|
public interface OrderInfoLogMapper extends BaseMapper<OrderInfoLog> {
|
||||||
|
|
||||||
|
|||||||
@@ -9,10 +9,10 @@ import org.apache.ibatis.annotations.Param;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Mapper
|
* 场地Mapper
|
||||||
*
|
*
|
||||||
* @author 科技小王子
|
* @author 科技小王子
|
||||||
* @since 2024-05-13 19:50:43
|
* @since 2024-05-14 13:20:04
|
||||||
*/
|
*/
|
||||||
public interface OrderInfoMapper extends BaseMapper<OrderInfo> {
|
public interface OrderInfoMapper extends BaseMapper<OrderInfo> {
|
||||||
|
|
||||||
|
|||||||
@@ -10,10 +10,10 @@ import org.apache.ibatis.annotations.Param;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 预约订单Mapper
|
* 订单Mapper
|
||||||
*
|
*
|
||||||
* @author 科技小王子
|
* @author 科技小王子
|
||||||
* @since 2024-04-25 22:01:33
|
* @since 2024-05-14 13:20:04
|
||||||
*/
|
*/
|
||||||
public interface OrderMapper extends BaseMapper<Order> {
|
public interface OrderMapper extends BaseMapper<Order> {
|
||||||
|
|
||||||
@@ -37,7 +37,7 @@ public interface OrderMapper extends BaseMapper<Order> {
|
|||||||
|
|
||||||
|
|
||||||
@InterceptorIgnore(tenantLine = "true")
|
@InterceptorIgnore(tenantLine = "true")
|
||||||
List<Order> getByOutTradeNo(OrderParam param);
|
List<Order> getByOutTradeNo(@Param("param") OrderParam param);
|
||||||
|
|
||||||
@InterceptorIgnore(tenantLine = "true")
|
@InterceptorIgnore(tenantLine = "true")
|
||||||
void updateByOutTradeNo(@Param("param") Order outTradeNo);
|
void updateByOutTradeNo(@Param("param") Order outTradeNo);
|
||||||
|
|||||||
@@ -10,14 +10,14 @@
|
|||||||
<if test="param.id != null">
|
<if test="param.id != null">
|
||||||
AND a.id = #{param.id}
|
AND a.id = #{param.id}
|
||||||
</if>
|
</if>
|
||||||
<if test="param.oid != null">
|
<if test="param.orderId != null">
|
||||||
AND a.oid = #{param.oid}
|
AND a.order_id = #{param.orderId}
|
||||||
</if>
|
</if>
|
||||||
<if test="param.sid != null">
|
<if test="param.merchantId != null">
|
||||||
AND a.sid = #{param.sid}
|
AND a.merchant_id = #{param.merchantId}
|
||||||
</if>
|
</if>
|
||||||
<if test="param.fid != null">
|
<if test="param.fieldId != null">
|
||||||
AND a.fid = #{param.fid}
|
AND a.field_id = #{param.fieldId}
|
||||||
</if>
|
</if>
|
||||||
<if test="param.useNum != null">
|
<if test="param.useNum != null">
|
||||||
AND a.use_num = #{param.useNum}
|
AND a.use_num = #{param.useNum}
|
||||||
|
|||||||
@@ -4,30 +4,31 @@
|
|||||||
|
|
||||||
<!-- 关联查询sql -->
|
<!-- 关联查询sql -->
|
||||||
<sql id="selectSql">
|
<sql id="selectSql">
|
||||||
SELECT a.*
|
SELECT a.*, b.pay_status
|
||||||
FROM shop_order_info a
|
FROM shop_order_info a
|
||||||
|
LEFT JOIN shop_order b ON a.order_id = b.order_id
|
||||||
<where>
|
<where>
|
||||||
<if test="param.id != null">
|
<if test="param.id != null">
|
||||||
AND a.id = #{param.id}
|
AND a.id = #{param.id}
|
||||||
</if>
|
</if>
|
||||||
<if test="param.oid != null">
|
<if test="param.orderId != null">
|
||||||
AND a.oid = #{param.oid}
|
AND a.order_id = #{param.orderId}
|
||||||
</if>
|
</if>
|
||||||
<if test="param.sid != null">
|
<if test="param.orderCode != null">
|
||||||
AND a.sid = #{param.sid}
|
AND a.order_code LIKE CONCAT('%', #{param.orderCode}, '%')
|
||||||
</if>
|
</if>
|
||||||
<if test="param.fid != null">
|
<if test="param.merchantId != null">
|
||||||
AND a.fid = #{param.fid}
|
AND a.merchant_id = #{param.merchantId}
|
||||||
</if>
|
</if>
|
||||||
<if test="param.siteName != null">
|
<if test="param.merchantName != null">
|
||||||
AND a.site_name LIKE CONCAT('%', #{param.siteName}, '%')
|
AND a.merchant_name LIKE CONCAT('%', #{param.merchantName}, '%')
|
||||||
|
</if>
|
||||||
|
<if test="param.fieldId != null">
|
||||||
|
AND a.field_id = #{param.fieldId}
|
||||||
</if>
|
</if>
|
||||||
<if test="param.fieldName != null">
|
<if test="param.fieldName != null">
|
||||||
AND a.field_name LIKE CONCAT('%', #{param.fieldName}, '%')
|
AND a.field_name LIKE CONCAT('%', #{param.fieldName}, '%')
|
||||||
</if>
|
</if>
|
||||||
<if test="param.dateTime != null">
|
|
||||||
AND a.date_time LIKE CONCAT('%', #{param.dateTime}, '%')
|
|
||||||
</if>
|
|
||||||
<if test="param.price != null">
|
<if test="param.price != null">
|
||||||
AND a.price = #{param.price}
|
AND a.price = #{param.price}
|
||||||
</if>
|
</if>
|
||||||
@@ -52,21 +53,27 @@
|
|||||||
<if test="param.version != null">
|
<if test="param.version != null">
|
||||||
AND a.version = #{param.version}
|
AND a.version = #{param.version}
|
||||||
</if>
|
</if>
|
||||||
<if test="param.type != null">
|
<if test="param.isHalf != null">
|
||||||
AND a.type = #{param.type}
|
AND a.is_half = #{param.isHalf}
|
||||||
</if>
|
</if>
|
||||||
<if test="param.mergeData != null">
|
<if test="param.timePeriod != null">
|
||||||
AND a.merge_data LIKE CONCAT('%', #{param.mergeData}, '%')
|
AND a.time_period LIKE CONCAT('%', #{param.timePeriod}, '%')
|
||||||
|
</if>
|
||||||
|
<if test="param.dateTime != null">
|
||||||
|
AND a.date_time LIKE CONCAT('%', #{param.dateTime}, '%')
|
||||||
</if>
|
</if>
|
||||||
<if test="param.startTime != null">
|
<if test="param.startTime != null">
|
||||||
AND a.start_time LIKE CONCAT('%', #{param.startTime}, '%')
|
AND a.start_time LIKE CONCAT('%', #{param.startTime}, '%')
|
||||||
</if>
|
</if>
|
||||||
<if test="param.orderTime != null">
|
<if test="param.endTime != null">
|
||||||
AND a.order_time LIKE CONCAT('%', #{param.orderTime}, '%')
|
AND a.end_time LIKE CONCAT('%', #{param.endTime}, '%')
|
||||||
</if>
|
</if>
|
||||||
<if test="param.timeFlag != null">
|
<if test="param.timeFlag != null">
|
||||||
AND a.time_flag LIKE CONCAT('%', #{param.timeFlag}, '%')
|
AND a.time_flag LIKE CONCAT('%', #{param.timeFlag}, '%')
|
||||||
</if>
|
</if>
|
||||||
|
<if test="param.comments != null">
|
||||||
|
AND a.comments LIKE CONCAT('%', #{param.comments}, '%')
|
||||||
|
</if>
|
||||||
<if test="param.userId != null">
|
<if test="param.userId != null">
|
||||||
AND a.user_id = #{param.userId}
|
AND a.user_id = #{param.userId}
|
||||||
</if>
|
</if>
|
||||||
@@ -77,9 +84,12 @@
|
|||||||
AND a.create_time <= #{param.createTimeEnd}
|
AND a.create_time <= #{param.createTimeEnd}
|
||||||
</if>
|
</if>
|
||||||
<if test="param.keywords != null">
|
<if test="param.keywords != null">
|
||||||
AND (a.comments LIKE CONCAT('%', #{param.keywords}, '%')
|
AND (a.merchant_name LIKE CONCAT('%', #{param.keywords}, '%')
|
||||||
)
|
OR a.order_id = #{param.keywords}
|
||||||
</if>
|
OR a.user_id = #{param.keywords}
|
||||||
|
OR a.merchant_id = #{param.keywords}
|
||||||
|
)
|
||||||
|
</if>
|
||||||
</where>
|
</where>
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
|
|||||||
@@ -4,9 +4,8 @@
|
|||||||
|
|
||||||
<!-- 关联查询sql -->
|
<!-- 关联查询sql -->
|
||||||
<sql id="selectSql">
|
<sql id="selectSql">
|
||||||
SELECT a.*,b.merchant_name,b.image as merchantAvatar
|
SELECT a.*
|
||||||
FROM shop_order a
|
FROM shop_order a
|
||||||
LEFT JOIN shop_merchant b ON a.merchant_id = b.merchant_code
|
|
||||||
<where>
|
<where>
|
||||||
<if test="param.orderId != null">
|
<if test="param.orderId != null">
|
||||||
AND a.order_id = #{param.orderId}
|
AND a.order_id = #{param.orderId}
|
||||||
@@ -14,8 +13,8 @@
|
|||||||
<if test="param.orderNo != null">
|
<if test="param.orderNo != null">
|
||||||
AND a.order_no LIKE CONCAT('%', #{param.orderNo}, '%')
|
AND a.order_no LIKE CONCAT('%', #{param.orderNo}, '%')
|
||||||
</if>
|
</if>
|
||||||
<if test="param.wechatOrder != null">
|
<if test="param.transactionId != null">
|
||||||
AND a.wechat_order LIKE CONCAT('%', #{param.wechatOrder}, '%')
|
AND a.transaction_id LIKE CONCAT('%', #{param.transactionId}, '%')
|
||||||
</if>
|
</if>
|
||||||
<if test="param.refundOrder != null">
|
<if test="param.refundOrder != null">
|
||||||
AND a.refund_order LIKE CONCAT('%', #{param.refundOrder}, '%')
|
AND a.refund_order LIKE CONCAT('%', #{param.refundOrder}, '%')
|
||||||
@@ -23,26 +22,23 @@
|
|||||||
<if test="param.merchantId != null">
|
<if test="param.merchantId != null">
|
||||||
AND a.merchant_id = #{param.merchantId}
|
AND a.merchant_id = #{param.merchantId}
|
||||||
</if>
|
</if>
|
||||||
<if test="param.userId != null">
|
|
||||||
AND a.user_id = #{param.userId}
|
|
||||||
</if>
|
|
||||||
<if test="param.couponId != null">
|
<if test="param.couponId != null">
|
||||||
AND a.coupon_id = #{param.couponId}
|
AND a.coupon_id = #{param.couponId}
|
||||||
</if>
|
</if>
|
||||||
<if test="param.cardId != null">
|
<if test="param.cardId != null">
|
||||||
AND a.card_id = #{param.cardId}
|
AND a.card_id LIKE CONCAT('%', #{param.cardId}, '%')
|
||||||
</if>
|
|
||||||
<if test="param.aid != null">
|
|
||||||
AND a.aid = #{param.aid}
|
|
||||||
</if>
|
</if>
|
||||||
<if test="param.adminId != null">
|
<if test="param.adminId != null">
|
||||||
AND a.admin_id = #{param.adminId}
|
AND a.admin_id = #{param.adminId}
|
||||||
</if>
|
</if>
|
||||||
<if test="param.code != null">
|
<if test="param.confirmId != null">
|
||||||
AND a.code LIKE CONCAT('%', #{param.code}, '%')
|
AND a.confirm_id = #{param.confirmId}
|
||||||
</if>
|
</if>
|
||||||
<if test="param.name != null">
|
<if test="param.icCard != null">
|
||||||
AND a.name LIKE CONCAT('%', #{param.name}, '%')
|
AND a.ic_card LIKE CONCAT('%', #{param.icCard}, '%')
|
||||||
|
</if>
|
||||||
|
<if test="param.realName != null">
|
||||||
|
AND a.real_name LIKE CONCAT('%', #{param.realName}, '%')
|
||||||
</if>
|
</if>
|
||||||
<if test="param.phone != null">
|
<if test="param.phone != null">
|
||||||
AND a.phone LIKE CONCAT('%', #{param.phone}, '%')
|
AND a.phone LIKE CONCAT('%', #{param.phone}, '%')
|
||||||
@@ -80,15 +76,15 @@
|
|||||||
<if test="param.orderStatus != null">
|
<if test="param.orderStatus != null">
|
||||||
AND a.order_status = #{param.orderStatus}
|
AND a.order_status = #{param.orderStatus}
|
||||||
</if>
|
</if>
|
||||||
<if test="param.type != null">
|
<if test="param.couponType != null">
|
||||||
AND a.type = #{param.type}
|
AND a.coupon_type = #{param.couponType}
|
||||||
|
</if>
|
||||||
|
<if test="param.couponDesc != null">
|
||||||
|
AND a.coupon_desc LIKE CONCAT('%', #{param.couponDesc}, '%')
|
||||||
</if>
|
</if>
|
||||||
<if test="param.qrcode != null">
|
<if test="param.qrcode != null">
|
||||||
AND a.qrcode LIKE CONCAT('%', #{param.qrcode}, '%')
|
AND a.qrcode LIKE CONCAT('%', #{param.qrcode}, '%')
|
||||||
</if>
|
</if>
|
||||||
<if test="param.desc != null">
|
|
||||||
AND a.desc LIKE CONCAT('%', #{param.desc}, '%')
|
|
||||||
</if>
|
|
||||||
<if test="param.returnNum != null">
|
<if test="param.returnNum != null">
|
||||||
AND a.return_num = #{param.returnNum}
|
AND a.return_num = #{param.returnNum}
|
||||||
</if>
|
</if>
|
||||||
@@ -101,41 +97,53 @@
|
|||||||
<if test="param.isInvoice != null">
|
<if test="param.isInvoice != null">
|
||||||
AND a.is_invoice = #{param.isInvoice}
|
AND a.is_invoice = #{param.isInvoice}
|
||||||
</if>
|
</if>
|
||||||
<if test="param.createTimeStart != null">
|
|
||||||
AND a.create_time >= #{param.createTimeStart}
|
|
||||||
</if>
|
|
||||||
<if test="param.createTimeEnd != null">
|
|
||||||
AND a.create_time <= #{param.createTimeEnd}
|
|
||||||
</if>
|
|
||||||
<if test="param.payTime != null">
|
<if test="param.payTime != null">
|
||||||
AND a.pay_time = #{param.payTime}
|
AND a.pay_time LIKE CONCAT('%', #{param.payTime}, '%')
|
||||||
</if>
|
</if>
|
||||||
<if test="param.refundTime != null">
|
<if test="param.refundTime != null">
|
||||||
AND a.refund_time = #{param.refundTime}
|
AND a.refund_time LIKE CONCAT('%', #{param.refundTime}, '%')
|
||||||
</if>
|
</if>
|
||||||
<if test="param.refundApplyTime != null">
|
<if test="param.refundApplyTime != null">
|
||||||
AND a.refund_apply_time = #{param.refundApplyTime}
|
AND a.refund_apply_time LIKE CONCAT('%', #{param.refundApplyTime}, '%')
|
||||||
</if>
|
</if>
|
||||||
<if test="param.checkBill != null">
|
<if test="param.checkBill != null">
|
||||||
AND a.check_bill = #{param.checkBill}
|
AND a.check_bill = #{param.checkBill}
|
||||||
</if>
|
</if>
|
||||||
|
<if test="param.isSettled != null">
|
||||||
|
AND a.is_settled = #{param.isSettled}
|
||||||
|
</if>
|
||||||
|
<if test="param.version != null">
|
||||||
|
AND a.version = #{param.version}
|
||||||
|
</if>
|
||||||
|
<if test="param.userId != null">
|
||||||
|
AND a.user_id = #{param.userId}
|
||||||
|
</if>
|
||||||
<if test="param.comments != null">
|
<if test="param.comments != null">
|
||||||
AND a.comments LIKE CONCAT('%', #{param.comments}, '%')
|
AND a.comments LIKE CONCAT('%', #{param.comments}, '%')
|
||||||
</if>
|
</if>
|
||||||
|
<if test="param.sortNumber != null">
|
||||||
|
AND a.sort_number = #{param.sortNumber}
|
||||||
|
</if>
|
||||||
<if test="param.deleted != null">
|
<if test="param.deleted != null">
|
||||||
AND a.deleted = #{param.deleted}
|
AND a.deleted = #{param.deleted}
|
||||||
</if>
|
</if>
|
||||||
<if test="param.deleted == null">
|
<if test="param.deleted == null">
|
||||||
AND a.deleted = 0
|
AND a.deleted = 0
|
||||||
</if>
|
</if>
|
||||||
|
<if test="param.createTimeStart != null">
|
||||||
|
AND a.create_time >= #{param.createTimeStart}
|
||||||
|
</if>
|
||||||
|
<if test="param.createTimeEnd != null">
|
||||||
|
AND a.create_time <= #{param.createTimeEnd}
|
||||||
|
</if>
|
||||||
<if test="param.keywords != null">
|
<if test="param.keywords != null">
|
||||||
AND (a.comments LIKE CONCAT('%', #{param.keywords}, '%')
|
AND (a.order_no LIKE CONCAT('%', #{param.keywords}, '%')
|
||||||
OR a.order_id = #{param.keywords}
|
OR a.order_id = #{param.keywords}
|
||||||
OR a.order_no = #{param.keywords}
|
OR a.phone = #{param.keywords}
|
||||||
OR a.phone = #{param.keywords}
|
OR a.user_id = #{param.keywords}
|
||||||
OR a.name LIKE CONCAT('%', #{param.keywords}, '%')
|
OR a.merchant_id = #{param.keywords}
|
||||||
)
|
)
|
||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
@@ -156,7 +164,7 @@
|
|||||||
|
|
||||||
<!-- 更新订单状态 -->
|
<!-- 更新订单状态 -->
|
||||||
<select id="updateByOutTradeNo" resultType="com.gxwebsoft.shop.entity.Order">
|
<select id="updateByOutTradeNo" resultType="com.gxwebsoft.shop.entity.Order">
|
||||||
UPDATE sys_order SET pay_status = #{param.payStatus},pay_time = #{param.payTime},pay_price = #{param.payPrice},transaction_id = #{param.transactionId} WHERE order_no = #{param.orderNo}
|
UPDATE shop_order SET pay_status = #{param.payStatus}, pay_time = #{param.payTime}, pay_price = #{param.payPrice}, transaction_id = #{param.transactionId} WHERE order_no = #{param.orderNo}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ import lombok.EqualsAndHashCode;
|
|||||||
* 订单核销查询参数
|
* 订单核销查询参数
|
||||||
*
|
*
|
||||||
* @author 科技小王子
|
* @author 科技小王子
|
||||||
* @since 2024-05-03 11:15:22
|
* @since 2024-05-14 13:20:04
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = false)
|
@EqualsAndHashCode(callSuper = false)
|
||||||
@@ -28,15 +28,15 @@ public class OrderInfoLogParam extends BaseParam {
|
|||||||
|
|
||||||
@ApiModelProperty(value = "关联订单表id")
|
@ApiModelProperty(value = "关联订单表id")
|
||||||
@QueryField(type = QueryType.EQ)
|
@QueryField(type = QueryType.EQ)
|
||||||
private Integer oid;
|
private Integer orderId;
|
||||||
|
|
||||||
@ApiModelProperty(value = "关联场馆id")
|
@ApiModelProperty(value = "关联商户ID")
|
||||||
@QueryField(type = QueryType.EQ)
|
@QueryField(type = QueryType.EQ)
|
||||||
private Integer sid;
|
private Integer merchantId;
|
||||||
|
|
||||||
@ApiModelProperty(value = "关联场地id")
|
@ApiModelProperty(value = "关联场地id")
|
||||||
@QueryField(type = QueryType.EQ)
|
@QueryField(type = QueryType.EQ)
|
||||||
private Integer fid;
|
private Integer fieldId;
|
||||||
|
|
||||||
@ApiModelProperty(value = "核销数量")
|
@ApiModelProperty(value = "核销数量")
|
||||||
@QueryField(type = QueryType.EQ)
|
@QueryField(type = QueryType.EQ)
|
||||||
|
|||||||
@@ -11,42 +11,43 @@ import lombok.Data;
|
|||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询参数
|
* 场地查询参数
|
||||||
*
|
*
|
||||||
* @author 科技小王子
|
* @author 科技小王子
|
||||||
* @since 2024-05-13 19:50:43
|
* @since 2024-05-14 13:20:04
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = false)
|
@EqualsAndHashCode(callSuper = false)
|
||||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||||
@ApiModel(value = "OrderInfoParam对象", description = "查询参数")
|
@ApiModel(value = "OrderInfoParam对象", description = "场地查询参数")
|
||||||
public class OrderInfoParam extends BaseParam {
|
public class OrderInfoParam extends BaseParam {
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "自增ID")
|
||||||
@QueryField(type = QueryType.EQ)
|
@QueryField(type = QueryType.EQ)
|
||||||
private Integer id;
|
private Integer id;
|
||||||
|
|
||||||
@ApiModelProperty(value = "关联订单表id")
|
@ApiModelProperty(value = "关联订单表id")
|
||||||
@QueryField(type = QueryType.EQ)
|
@QueryField(type = QueryType.EQ)
|
||||||
private Integer oid;
|
private Integer orderId;
|
||||||
|
|
||||||
@ApiModelProperty(value = "关联场馆id")
|
@ApiModelProperty(value = "组合数据:日期+时间段+场馆id+场地id")
|
||||||
|
private String orderCode;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "关联商户ID")
|
||||||
@QueryField(type = QueryType.EQ)
|
@QueryField(type = QueryType.EQ)
|
||||||
private Integer sid;
|
private Integer merchantId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "商户名称")
|
||||||
|
private String merchantName;
|
||||||
|
|
||||||
@ApiModelProperty(value = "关联场地id")
|
@ApiModelProperty(value = "关联场地id")
|
||||||
@QueryField(type = QueryType.EQ)
|
@QueryField(type = QueryType.EQ)
|
||||||
private Integer fid;
|
private Integer fieldId;
|
||||||
|
|
||||||
@ApiModelProperty(value = "场馆")
|
@ApiModelProperty(value = "场地名称")
|
||||||
private String siteName;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "场地")
|
|
||||||
private String fieldName;
|
private String fieldName;
|
||||||
|
|
||||||
@ApiModelProperty(value = "预约时间段")
|
|
||||||
private String dateTime;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "单价")
|
@ApiModelProperty(value = "单价")
|
||||||
@QueryField(type = QueryType.EQ)
|
@QueryField(type = QueryType.EQ)
|
||||||
private BigDecimal price;
|
private BigDecimal price;
|
||||||
@@ -63,38 +64,44 @@ public class OrderInfoParam extends BaseParam {
|
|||||||
@QueryField(type = QueryType.EQ)
|
@QueryField(type = QueryType.EQ)
|
||||||
private Integer childrenNum;
|
private Integer childrenNum;
|
||||||
|
|
||||||
@ApiModelProperty(value = "1已付款,2未付款,3无需付款或占用状态")
|
@ApiModelProperty(value = "0 未付款 1已付款,2无需付款或占用状态")
|
||||||
@QueryField(type = QueryType.EQ)
|
@QueryField(type = QueryType.EQ)
|
||||||
private Integer payStatus;
|
private Integer payStatus;
|
||||||
|
|
||||||
@ApiModelProperty(value = "是否免费:1免费、2收费")
|
@ApiModelProperty(value = "是否免费:0收费、1免费")
|
||||||
@QueryField(type = QueryType.EQ)
|
@QueryField(type = QueryType.EQ)
|
||||||
private Integer isFree;
|
private Boolean isFree;
|
||||||
|
|
||||||
@ApiModelProperty(value = "是否支持儿童票:1支持,2不支持")
|
@ApiModelProperty(value = "是否支持儿童票:0不支持、1支持")
|
||||||
@QueryField(type = QueryType.EQ)
|
@QueryField(type = QueryType.EQ)
|
||||||
private Integer isChildren;
|
private Boolean isChildren;
|
||||||
|
|
||||||
@ApiModelProperty(value = "系统版本号 10新版 0旧版")
|
@ApiModelProperty(value = "系统版本 0当前版本 其他版本")
|
||||||
@QueryField(type = QueryType.EQ)
|
@QueryField(type = QueryType.EQ)
|
||||||
private Integer version;
|
private Integer version;
|
||||||
|
|
||||||
@ApiModelProperty(value = "预订类型:1全场,2半场")
|
@ApiModelProperty(value = "预订类型:0全场,1半场")
|
||||||
@QueryField(type = QueryType.EQ)
|
@QueryField(type = QueryType.EQ)
|
||||||
private Integer type;
|
private Boolean isHalf;
|
||||||
|
|
||||||
@ApiModelProperty(value = "组合数据:日期+时间段+场馆id+场地id")
|
@ApiModelProperty(value = "预约时间段")
|
||||||
private String mergeData;
|
private String timePeriod;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "预定日期")
|
||||||
|
private String dateTime;
|
||||||
|
|
||||||
@ApiModelProperty(value = "开场时间")
|
@ApiModelProperty(value = "开场时间")
|
||||||
private String startTime;
|
private String startTime;
|
||||||
|
|
||||||
@ApiModelProperty(value = "下单时间")
|
@ApiModelProperty(value = "结束时间")
|
||||||
private String orderTime;
|
private String endTime;
|
||||||
|
|
||||||
@ApiModelProperty(value = "毫秒时间戳")
|
@ApiModelProperty(value = "毫秒时间戳")
|
||||||
private Long timeFlag;
|
private Long timeFlag;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "备注")
|
||||||
|
private String comments;
|
||||||
|
|
||||||
@ApiModelProperty(value = "用户id")
|
@ApiModelProperty(value = "用户id")
|
||||||
@QueryField(type = QueryType.EQ)
|
@QueryField(type = QueryType.EQ)
|
||||||
private Integer userId;
|
private Integer userId;
|
||||||
|
|||||||
@@ -11,15 +11,15 @@ import lombok.Data;
|
|||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 预约订单查询参数
|
* 订单查询参数
|
||||||
*
|
*
|
||||||
* @author 科技小王子
|
* @author 科技小王子
|
||||||
* @since 2024-04-25 22:01:33
|
* @since 2024-05-14 13:20:04
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = false)
|
@EqualsAndHashCode(callSuper = false)
|
||||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||||
@ApiModel(value = "OrderParam对象", description = "预约订单查询参数")
|
@ApiModel(value = "OrderParam对象", description = "订单查询参数")
|
||||||
public class OrderParam extends BaseParam {
|
public class OrderParam extends BaseParam {
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
@@ -28,43 +28,39 @@ public class OrderParam extends BaseParam {
|
|||||||
private Integer orderId;
|
private Integer orderId;
|
||||||
|
|
||||||
@ApiModelProperty(value = "订单编号")
|
@ApiModelProperty(value = "订单编号")
|
||||||
|
@QueryField(type = QueryType.EQ)
|
||||||
private String orderNo;
|
private String orderNo;
|
||||||
|
|
||||||
@ApiModelProperty(value = "微信支付订单号")
|
@ApiModelProperty(value = "微信支付订单号")
|
||||||
private String wechatOrder;
|
private String transactionId;
|
||||||
|
|
||||||
@ApiModelProperty(value = "微信退款订单号")
|
@ApiModelProperty(value = "微信退款订单号")
|
||||||
private String refundOrder;
|
private String refundOrder;
|
||||||
|
|
||||||
@ApiModelProperty(value = "场馆id用于权限判断")
|
@ApiModelProperty(value = "商户ID")
|
||||||
@QueryField(type = QueryType.EQ)
|
@QueryField(type = QueryType.EQ)
|
||||||
private Integer merchantId;
|
private Integer merchantId;
|
||||||
|
|
||||||
@ApiModelProperty(value = "用户id")
|
|
||||||
@QueryField(type = QueryType.EQ)
|
|
||||||
private Integer userId;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "使用的优惠券id")
|
@ApiModelProperty(value = "使用的优惠券id")
|
||||||
@QueryField(type = QueryType.EQ)
|
@QueryField(type = QueryType.EQ)
|
||||||
private Integer couponId;
|
private Integer couponId;
|
||||||
|
|
||||||
@ApiModelProperty(value = "使用的会员卡id")
|
@ApiModelProperty(value = "使用的会员卡id")
|
||||||
@QueryField(type = QueryType.EQ)
|
private String cardId;
|
||||||
private Integer cardId;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "关联管理员id")
|
@ApiModelProperty(value = "关联管理员id")
|
||||||
@QueryField(type = QueryType.EQ)
|
@QueryField(type = QueryType.EQ)
|
||||||
private Integer aid;
|
private Integer adminId;
|
||||||
|
|
||||||
@ApiModelProperty(value = "核销管理员id")
|
@ApiModelProperty(value = "核销管理员id")
|
||||||
@QueryField(type = QueryType.EQ)
|
@QueryField(type = QueryType.EQ)
|
||||||
private Integer adminId;
|
private Integer confirmId;
|
||||||
|
|
||||||
@ApiModelProperty(value = "IC卡号")
|
@ApiModelProperty(value = "IC卡号")
|
||||||
private String code;
|
private String icCard;
|
||||||
|
|
||||||
@ApiModelProperty(value = "真实姓名")
|
@ApiModelProperty(value = "真实姓名")
|
||||||
private String name;
|
private String realName;
|
||||||
|
|
||||||
@ApiModelProperty(value = "手机号码")
|
@ApiModelProperty(value = "手机号码")
|
||||||
private String phone;
|
private String phone;
|
||||||
@@ -101,28 +97,28 @@ public class OrderParam extends BaseParam {
|
|||||||
@QueryField(type = QueryType.EQ)
|
@QueryField(type = QueryType.EQ)
|
||||||
private Integer coachId;
|
private Integer coachId;
|
||||||
|
|
||||||
@ApiModelProperty(value = "1微信支付,2积分,3支付宝,4现金,5POS机,6VIP月卡,7VIP年卡,8VIP次卡,9IC月卡,10IC年卡,11IC次卡,12免费,13VIP充值卡,14IC充值卡,15积分支付,16VIP季卡,17IC季卡")
|
@ApiModelProperty(value = "0余额支付, 1微信支付,2积分,3支付宝,4现金,5POS机,6VIP月卡,7VIP年卡,8VIP次卡,9IC月卡,10IC年卡,11IC次卡,12免费,13VIP充值卡,14IC充值卡,15积分支付,16VIP季卡,17IC季卡")
|
||||||
@QueryField(type = QueryType.EQ)
|
@QueryField(type = QueryType.EQ)
|
||||||
private Integer payType;
|
private Integer payType;
|
||||||
|
|
||||||
@ApiModelProperty(value = "1已付款,2未付款")
|
@ApiModelProperty(value = "0未付款,1已付款")
|
||||||
@QueryField(type = QueryType.EQ)
|
@QueryField(type = QueryType.EQ)
|
||||||
private Integer payStatus;
|
private Integer payStatus;
|
||||||
|
|
||||||
@ApiModelProperty(value = "1已完成,2未使用,3已取消,4退款申请中,5退款被拒绝,6退款成功,7客户端申请退款")
|
@ApiModelProperty(value = "0未使用,1已完成,2已取消,3取消中,4退款申请中,5退款被拒绝,6退款成功,7客户端申请退款")
|
||||||
@QueryField(type = QueryType.EQ)
|
@QueryField(type = QueryType.EQ)
|
||||||
private Integer orderStatus;
|
private Integer orderStatus;
|
||||||
|
|
||||||
@ApiModelProperty(value = "优惠类型:0无、1抵扣优惠券、2折扣优惠券、3、VIP月卡、4VIP年卡,5VIP次卡、6VIP会员卡、7IC月卡、8IC年卡、9IC次卡、10IC会员卡、11免费订单、12VIP充值卡、13IC充值卡、14VIP季卡、15IC季卡")
|
@ApiModelProperty(value = "优惠类型:0无、1抵扣优惠券、2折扣优惠券、3、VIP月卡、4VIP年卡,5VIP次卡、6VIP会员卡、7IC月卡、8IC年卡、9IC次卡、10IC会员卡、11免费订单、12VIP充值卡、13IC充值卡、14VIP季卡、15IC季卡")
|
||||||
@QueryField(type = QueryType.EQ)
|
@QueryField(type = QueryType.EQ)
|
||||||
private Integer type;
|
private Integer couponType;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "优惠说明")
|
||||||
|
private String couponDesc;
|
||||||
|
|
||||||
@ApiModelProperty(value = "二维码地址,保存订单号,支付成功后才生成")
|
@ApiModelProperty(value = "二维码地址,保存订单号,支付成功后才生成")
|
||||||
private String qrcode;
|
private String qrcode;
|
||||||
|
|
||||||
@ApiModelProperty(value = "优惠说明")
|
|
||||||
private String desc;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "vip月卡年卡、ic月卡年卡回退次数")
|
@ApiModelProperty(value = "vip月卡年卡、ic月卡年卡回退次数")
|
||||||
@QueryField(type = QueryType.EQ)
|
@QueryField(type = QueryType.EQ)
|
||||||
private Integer returnNum;
|
private Integer returnNum;
|
||||||
@@ -134,29 +130,42 @@ public class OrderParam extends BaseParam {
|
|||||||
@ApiModelProperty(value = "预约详情开始时间数组")
|
@ApiModelProperty(value = "预约详情开始时间数组")
|
||||||
private String startTime;
|
private String startTime;
|
||||||
|
|
||||||
@ApiModelProperty(value = "是否已开具发票:1已开发票,2未开发票,3不能开具发票")
|
@ApiModelProperty(value = "是否已开具发票:0未开发票,1已开发票,2不能开具发票")
|
||||||
@QueryField(type = QueryType.EQ)
|
@QueryField(type = QueryType.EQ)
|
||||||
private Integer isInvoice;
|
private Boolean isInvoice;
|
||||||
|
|
||||||
@ApiModelProperty(value = "付款时间")
|
@ApiModelProperty(value = "支付时间")
|
||||||
@QueryField(type = QueryType.EQ)
|
private String payTime;
|
||||||
private Integer payTime;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "退款时间")
|
@ApiModelProperty(value = "退款时间")
|
||||||
@QueryField(type = QueryType.EQ)
|
private String refundTime;
|
||||||
private Integer refundTime;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "申请退款时间")
|
@ApiModelProperty(value = "申请退款时间")
|
||||||
@QueryField(type = QueryType.EQ)
|
private String refundApplyTime;
|
||||||
private Integer refundApplyTime;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "对账情况:1=已对账;2=未对账;3=已对账,金额对不上;4=未查询到该订单")
|
@ApiModelProperty(value = "对账情况:0=未对账;1=已对账;3=已对账,金额对不上;4=未查询到该订单")
|
||||||
@QueryField(type = QueryType.EQ)
|
@QueryField(type = QueryType.EQ)
|
||||||
private Integer checkBill;
|
private Integer checkBill;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "订单是否已结算(0未结算 1已结算)")
|
||||||
|
@QueryField(type = QueryType.EQ)
|
||||||
|
private Integer isSettled;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "系统版本号 0当前版本 value=其他版本")
|
||||||
|
@QueryField(type = QueryType.EQ)
|
||||||
|
private Integer version;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "用户id")
|
||||||
|
@QueryField(type = QueryType.EQ)
|
||||||
|
private Integer userId;
|
||||||
|
|
||||||
@ApiModelProperty(value = "备注")
|
@ApiModelProperty(value = "备注")
|
||||||
private String comments;
|
private String comments;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "排序号")
|
||||||
|
@QueryField(type = QueryType.EQ)
|
||||||
|
private Integer sortNumber;
|
||||||
|
|
||||||
@ApiModelProperty(value = "是否删除, 0否, 1是")
|
@ApiModelProperty(value = "是否删除, 0否, 1是")
|
||||||
@QueryField(type = QueryType.EQ)
|
@QueryField(type = QueryType.EQ)
|
||||||
private Integer deleted;
|
private Integer deleted;
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import java.util.List;
|
|||||||
* 订单核销Service
|
* 订单核销Service
|
||||||
*
|
*
|
||||||
* @author 科技小王子
|
* @author 科技小王子
|
||||||
* @since 2024-05-03 11:15:22
|
* @since 2024-05-14 13:20:04
|
||||||
*/
|
*/
|
||||||
public interface OrderInfoLogService extends IService<OrderInfoLog> {
|
public interface OrderInfoLogService extends IService<OrderInfoLog> {
|
||||||
|
|
||||||
|
|||||||
@@ -8,10 +8,10 @@ import com.gxwebsoft.shop.param.OrderInfoParam;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Service
|
* 场地Service
|
||||||
*
|
*
|
||||||
* @author 科技小王子
|
* @author 科技小王子
|
||||||
* @since 2024-05-13 19:50:43
|
* @since 2024-05-14 13:20:04
|
||||||
*/
|
*/
|
||||||
public interface OrderInfoService extends IService<OrderInfo> {
|
public interface OrderInfoService extends IService<OrderInfo> {
|
||||||
|
|
||||||
@@ -34,7 +34,7 @@ public interface OrderInfoService extends IService<OrderInfo> {
|
|||||||
/**
|
/**
|
||||||
* 根据id查询
|
* 根据id查询
|
||||||
*
|
*
|
||||||
* @param id
|
* @param id 自增ID
|
||||||
* @return OrderInfo
|
* @return OrderInfo
|
||||||
*/
|
*/
|
||||||
OrderInfo getByIdRel(Integer id);
|
OrderInfo getByIdRel(Integer id);
|
||||||
|
|||||||
@@ -9,10 +9,10 @@ import java.util.HashMap;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 预约订单Service
|
* 订单Service
|
||||||
*
|
*
|
||||||
* @author 科技小王子
|
* @author 科技小王子
|
||||||
* @since 2024-04-25 22:01:33
|
* @since 2024-05-14 13:20:04
|
||||||
*/
|
*/
|
||||||
public interface OrderService extends IService<Order> {
|
public interface OrderService extends IService<Order> {
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ import java.util.List;
|
|||||||
* 订单核销Service实现
|
* 订单核销Service实现
|
||||||
*
|
*
|
||||||
* @author 科技小王子
|
* @author 科技小王子
|
||||||
* @since 2024-05-03 11:15:22
|
* @since 2024-05-14 13:20:04
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class OrderInfoLogServiceImpl extends ServiceImpl<OrderInfoLogMapper, OrderInfoLog> implements OrderInfoLogService {
|
public class OrderInfoLogServiceImpl extends ServiceImpl<OrderInfoLogMapper, OrderInfoLog> implements OrderInfoLogService {
|
||||||
|
|||||||
@@ -12,10 +12,10 @@ import org.springframework.stereotype.Service;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Service实现
|
* 场地Service实现
|
||||||
*
|
*
|
||||||
* @author 科技小王子
|
* @author 科技小王子
|
||||||
* @since 2024-05-13 19:50:43
|
* @since 2024-05-14 13:20:04
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo> implements OrderInfoService {
|
public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo> implements OrderInfoService {
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ import com.alibaba.fastjson.JSONObject;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.gxwebsoft.common.core.config.ConfigProperties;
|
import com.gxwebsoft.common.core.config.ConfigProperties;
|
||||||
import com.gxwebsoft.common.core.utils.JSONUtil;
|
|
||||||
import com.gxwebsoft.common.core.utils.RedisUtil;
|
import com.gxwebsoft.common.core.utils.RedisUtil;
|
||||||
import com.gxwebsoft.common.system.service.SettingService;
|
import com.gxwebsoft.common.system.service.SettingService;
|
||||||
import com.gxwebsoft.shop.entity.OrderInfo;
|
import com.gxwebsoft.shop.entity.OrderInfo;
|
||||||
@@ -37,10 +36,10 @@ import java.util.Set;
|
|||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 预约订单Service实现
|
* 订单Service实现
|
||||||
*
|
*
|
||||||
* @author 科技小王子
|
* @author 科技小王子
|
||||||
* @since 2024-04-25 22:01:33
|
* @since 2024-05-14 13:20:04
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements OrderService {
|
public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements OrderService {
|
||||||
@@ -67,8 +66,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|||||||
final Set<Integer> orderIds = list.stream().map(Order::getOrderId).collect(Collectors.toSet());
|
final Set<Integer> orderIds = list.stream().map(Order::getOrderId).collect(Collectors.toSet());
|
||||||
// 查询订单信息表
|
// 查询订单信息表
|
||||||
if (!CollectionUtils.isEmpty(orderIds)) {
|
if (!CollectionUtils.isEmpty(orderIds)) {
|
||||||
final List<OrderInfo> orderInfoList = orderInfoService.list(new LambdaQueryWrapper<OrderInfo>().in(OrderInfo::getOid, orderIds));
|
final List<OrderInfo> orderInfoList = orderInfoService.list(new LambdaQueryWrapper<OrderInfo>().in(OrderInfo::getOrderId, orderIds));
|
||||||
final Map<Integer, List<OrderInfo>> orderInfo = orderInfoList.stream().collect(Collectors.groupingBy(OrderInfo::getOid));
|
final Map<Integer, List<OrderInfo>> orderInfo = orderInfoList.stream().collect(Collectors.groupingBy(OrderInfo::getOrderId));
|
||||||
list.forEach(d -> {
|
list.forEach(d -> {
|
||||||
if (!orderInfo.isEmpty()) {
|
if (!orderInfo.isEmpty()) {
|
||||||
final List<OrderInfo> orderInfos = orderInfo.get(d.getOrderId());
|
final List<OrderInfo> orderInfos = orderInfo.get(d.getOrderId());
|
||||||
@@ -81,21 +80,21 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|||||||
return new PageResult<>(list, page.getTotal());
|
return new PageResult<>(list, page.getTotal());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Order> listRel(OrderParam param) {
|
public List<Order> listRel(OrderParam param) {
|
||||||
List<Order> list = baseMapper.selectListRel(param);
|
List<Order> list = baseMapper.selectListRel(param);
|
||||||
// 排序
|
// 排序
|
||||||
PageParam<Order, OrderParam> page = new PageParam<>();
|
PageParam<Order, OrderParam> page = new PageParam<>();
|
||||||
page.setDefaultOrder("sort_number asc, create_time desc");
|
page.setDefaultOrder("sort_number asc, create_time desc");
|
||||||
return page.sortRecords(list);
|
return page.sortRecords(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Order getByIdRel(Integer orderId) {
|
public Order getByIdRel(Integer orderId) {
|
||||||
OrderParam param = new OrderParam();
|
OrderParam param = new OrderParam();
|
||||||
param.setOrderId(orderId);
|
param.setOrderId(orderId);
|
||||||
return param.getOne(baseMapper.selectListRel(param));
|
return param.getOne(baseMapper.selectListRel(param));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建微信支付
|
* 创建微信支付
|
||||||
@@ -172,9 +171,10 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Order getByOutTradeNo(String outTradeNo) {
|
public Order getByOutTradeNo(String outTradeNo) {
|
||||||
System.out.println("outTradeNo = " + outTradeNo);
|
|
||||||
OrderParam param = new OrderParam();
|
OrderParam param = new OrderParam();
|
||||||
param.setOrderNo(outTradeNo);
|
param.setOrderNo(outTradeNo);
|
||||||
|
System.out.println("param222 = " + param);
|
||||||
|
baseMapper.getByOutTradeNo(param);
|
||||||
return param.getOne(baseMapper.getByOutTradeNo(param));
|
return param.getOne(baseMapper.getByOutTradeNo(param));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -62,14 +62,14 @@ public class ShopGenerator {
|
|||||||
// "shop_merchant",
|
// "shop_merchant",
|
||||||
// "shop_merchant_type",
|
// "shop_merchant_type",
|
||||||
// "shop_merchant_apply",
|
// "shop_merchant_apply",
|
||||||
// "shop_order"
|
|
||||||
// "shop_merchant_account",
|
// "shop_merchant_account",
|
||||||
// "shop_chat_message",
|
// "shop_chat_message",
|
||||||
// "shop_chat_conversation"
|
// "shop_chat_conversation"
|
||||||
// "shop_user_collection",
|
// "shop_user_collection",
|
||||||
// "shop_mp_menu"
|
// "shop_mp_menu"
|
||||||
"shop_order_info",
|
"shop_order",
|
||||||
// "shop_order_info_log",
|
"shop_order_info",
|
||||||
|
"shop_order_info_log",
|
||||||
// "shop_wechat_deposit"
|
// "shop_wechat_deposit"
|
||||||
// "shop_users"
|
// "shop_users"
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user