最新逻辑 (超过1小时半小时收半小时钱、多余的收一小时钱,没有宽限期) 增加篮球入场视图,显示订单记录信息。
This commit is contained in:
@@ -224,4 +224,20 @@ public class VenueController extends BaseApiController {
|
|||||||
addAttribute("pay",orderService.createEnterVenueOrder(venueId, memberId, enterFlag, PayTypeEnum.WEI_XIN, new BigDecimal(payMoney)));
|
addAttribute("pay",orderService.createEnterVenueOrder(venueId, memberId, enterFlag, PayTypeEnum.WEI_XIN, new BigDecimal(payMoney)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 篮球入场
|
||||||
|
*/
|
||||||
|
@RequestMapping(value = "/member/order/enter/list", method = RequestMethod.POST)
|
||||||
|
public ResponseDTO memberOrderEnterList(Pagination pagination){
|
||||||
|
return ResponseDTO.ok().setPagination(venueEnterService.memberOrderEnterList(getMemberIdByAccessToken(),pagination));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 篮球入场详情页
|
||||||
|
*/
|
||||||
|
@RequestMapping(value = "/member/order/enter/detail", method = RequestMethod.POST)
|
||||||
|
public ResponseDTO memberOrderEnterDetail(@RequestParam("enterId") Integer enterId){
|
||||||
|
return ResponseDTO.ok().addAttribute("memberEnterDetail",venueEnterService.memberOrderEnterDetail(getMemberIdByAccessToken(),enterId));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -135,22 +135,22 @@ public class ServerMessageHandlerAdapter implements MessageService {
|
|||||||
Channel channel = getCurrentChannel(doorSn,venueBarCode.getVenueId());
|
Channel channel = getCurrentChannel(doorSn,venueBarCode.getVenueId());
|
||||||
Member member = memberService.findByMember(venueBarCode.getMemberId());
|
Member member = memberService.findByMember(venueBarCode.getMemberId());
|
||||||
if (member != null) {
|
if (member != null) {
|
||||||
|
BarcodeOrderTime lastOrder = barcodeOrderTimeMapper.findLastOrder(member.getId(), venueBarCode.getVenueId());
|
||||||
|
lastOrder.setLastOut(new Date());
|
||||||
|
// 不需要补交钱且需要退钱
|
||||||
|
if (lastOrder.getPayMoney() > 0) {
|
||||||
|
lastOrder.setPaying(1);
|
||||||
|
lastOrder.setModifiedTime(new Date());
|
||||||
|
}
|
||||||
|
barcodeOrderTimeMapper.updateByPrimaryKey(lastOrder);
|
||||||
MemberEnterVenueLog memberEnterVenueLog = new MemberEnterVenueLog();
|
MemberEnterVenueLog memberEnterVenueLog = new MemberEnterVenueLog();
|
||||||
memberEnterVenueLog.setOrderSn(barcode);
|
memberEnterVenueLog.setOrderSn(lastOrder.getId() + "");
|
||||||
memberEnterVenueLog.setType(EnterEnum.OUT.getValue());
|
memberEnterVenueLog.setType(EnterEnum.OUT.getValue());
|
||||||
memberEnterVenueLog.setPayType(EnterVenuePayTypeEnum.WEI_XIN.getValue());
|
memberEnterVenueLog.setPayType(EnterVenuePayTypeEnum.WEI_XIN.getValue());
|
||||||
memberEnterVenueLog.setMemberId(member.getId());
|
memberEnterVenueLog.setMemberId(member.getId());
|
||||||
memberEnterVenueLog.setPlatformId(member.getPlatformId() == null ? 1 : member.getPlatformId());
|
memberEnterVenueLog.setPlatformId(member.getPlatformId() == null ? 1 : member.getPlatformId());
|
||||||
memberEnterVenueLog.setVenueId(venueBarCode.getVenueId());
|
memberEnterVenueLog.setVenueId(venueBarCode.getVenueId());
|
||||||
memberEnterVenueLogService.save(memberEnterVenueLog);
|
memberEnterVenueLogService.save(memberEnterVenueLog);
|
||||||
|
|
||||||
BarcodeOrderTime lastOrder = barcodeOrderTimeMapper.findLastOrder(member.getId(), venueBarCode.getVenueId());
|
|
||||||
// 不需要补交钱且需要退钱
|
|
||||||
if (lastOrder.getPayMoney() > 0) {
|
|
||||||
lastOrder.setPaying(1);
|
|
||||||
lastOrder.setModifiedTime(new Date());
|
|
||||||
barcodeOrderTimeMapper.updateByPrimaryKey(lastOrder);
|
|
||||||
}
|
|
||||||
doorLockUtil.lockDoor(doorSn);
|
doorLockUtil.lockDoor(doorSn);
|
||||||
logger.info("用户" + member.getId() + "&" + member.getNickname() + "出场");
|
logger.info("用户" + member.getId() + "&" + member.getNickname() + "出场");
|
||||||
writeOffCode(barcode);
|
writeOffCode(barcode);
|
||||||
@@ -180,8 +180,12 @@ public class ServerMessageHandlerAdapter implements MessageService {
|
|||||||
Channel channel = getCurrentChannel(doorSn, venueBarCode.getVenueId());
|
Channel channel = getCurrentChannel(doorSn, venueBarCode.getVenueId());
|
||||||
Member member = memberService.findByMember(venueBarCode.getMemberId());
|
Member member = memberService.findByMember(venueBarCode.getMemberId());
|
||||||
if (member != null) {
|
if (member != null) {
|
||||||
|
BarcodeOrderTime lastOrder = barcodeOrderTimeMapper.findLastOrder(member.getId(), venueBarCode.getVenueId());
|
||||||
|
lastOrder.setLastEnter(new Date());
|
||||||
|
lastOrder.setModifiedTime(new Date());
|
||||||
|
barcodeOrderTimeMapper.updateByPrimaryKey(lastOrder);
|
||||||
MemberEnterVenueLog memberEnterVenueLog = new MemberEnterVenueLog();
|
MemberEnterVenueLog memberEnterVenueLog = new MemberEnterVenueLog();
|
||||||
memberEnterVenueLog.setOrderSn(barcode);
|
memberEnterVenueLog.setOrderSn(lastOrder.getId() + "");
|
||||||
memberEnterVenueLog.setType(EnterEnum.ENTER.getValue());
|
memberEnterVenueLog.setType(EnterEnum.ENTER.getValue());
|
||||||
memberEnterVenueLog.setMemberId(member.getId());
|
memberEnterVenueLog.setMemberId(member.getId());
|
||||||
memberEnterVenueLog.setPlatformId(member.getPlatformId() == null ? 1 : member.getPlatformId());
|
memberEnterVenueLog.setPlatformId(member.getPlatformId() == null ? 1 : member.getPlatformId());
|
||||||
|
|||||||
43
entity/src/main/java/com/enums/EnterOrderStatusEnum.java
Normal file
43
entity/src/main/java/com/enums/EnterOrderStatusEnum.java
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
package com.enums;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enum - 入场标志
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public enum EnterOrderStatusEnum {
|
||||||
|
USING(0, "使用中"),
|
||||||
|
PAYING(1, "待结算"),
|
||||||
|
OVER(2, "已结算");
|
||||||
|
public Integer value;
|
||||||
|
public String name;
|
||||||
|
|
||||||
|
EnterOrderStatusEnum(Integer value, String name) {
|
||||||
|
this.value = value;
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getValue() {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setValue(Integer value) {
|
||||||
|
this.value = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static EnterOrderStatusEnum getByValue(Integer value) {
|
||||||
|
for (EnterOrderStatusEnum type : EnterOrderStatusEnum.values()) {
|
||||||
|
if (type.value.equals(value)) {
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
526
entity/src/main/java/com/sv/dto/api/MemberEnterOrderDTO.java
Normal file
526
entity/src/main/java/com/sv/dto/api/MemberEnterOrderDTO.java
Normal file
@@ -0,0 +1,526 @@
|
|||||||
|
package com.sv.dto.api;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DTO - 用户预约的场馆课程票号
|
||||||
|
*
|
||||||
|
* @author lihong
|
||||||
|
* @since 2018-08-06
|
||||||
|
*/
|
||||||
|
public class MemberEnterOrderDTO implements Serializable {
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private Integer id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 场馆类型
|
||||||
|
*/
|
||||||
|
private Integer veneuType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 场馆ID
|
||||||
|
*/
|
||||||
|
private Integer venueId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 课程ID
|
||||||
|
*/
|
||||||
|
private Integer lessonId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户ID
|
||||||
|
*/
|
||||||
|
private Integer memberId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 预约课程支付订单号
|
||||||
|
*/
|
||||||
|
private String orderSn;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 入场支付方式
|
||||||
|
*/
|
||||||
|
private Integer payType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户会员卡ID
|
||||||
|
*/
|
||||||
|
private Integer memberCardId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 支付状态
|
||||||
|
*/
|
||||||
|
private Integer paying;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 使用状态
|
||||||
|
*/
|
||||||
|
private Integer status;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 品台来源ID
|
||||||
|
*/
|
||||||
|
private Integer platformId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建者编号
|
||||||
|
*/
|
||||||
|
private Integer createdId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建者编号
|
||||||
|
*/
|
||||||
|
private Integer modifiedId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建时间
|
||||||
|
*/
|
||||||
|
private Date createdTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新时间
|
||||||
|
*/
|
||||||
|
private Date modifiedTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除标识位
|
||||||
|
*
|
||||||
|
* @see com.ydd.framework.core.entity.enums.DeletedEnum
|
||||||
|
*/
|
||||||
|
private Integer deleted;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 课程名
|
||||||
|
*/
|
||||||
|
private String lessonName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 课程开始日期
|
||||||
|
*/
|
||||||
|
// @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
|
||||||
|
private Date lastEnter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 课程开始时间
|
||||||
|
*/
|
||||||
|
// @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME)
|
||||||
|
// @JsonSerialize(using= LocalTimeSerializer.class)
|
||||||
|
private Date startTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 课程结束时间 12
|
||||||
|
*/
|
||||||
|
// @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME)
|
||||||
|
// @JsonSerialize(using= LocalTimeSerializer.class)
|
||||||
|
private Date endTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 课程价格
|
||||||
|
*/
|
||||||
|
private BigDecimal price;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 课程图片
|
||||||
|
*/
|
||||||
|
private String lessonImage;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 运动时长
|
||||||
|
*/
|
||||||
|
private Integer lessonCount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 场馆地址
|
||||||
|
*/
|
||||||
|
private String address;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 场馆经度
|
||||||
|
*/
|
||||||
|
private String longitude;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 纬度
|
||||||
|
*/
|
||||||
|
private String latitude;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置
|
||||||
|
*
|
||||||
|
* @param id
|
||||||
|
*/
|
||||||
|
public void setId(Integer id){
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public Integer getId(){
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置场馆类型
|
||||||
|
*
|
||||||
|
* @param veneuType 场馆类型
|
||||||
|
*/
|
||||||
|
public void setVeneuType(Integer veneuType){
|
||||||
|
this.veneuType = veneuType;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取场馆类型
|
||||||
|
*
|
||||||
|
* @return 场馆类型
|
||||||
|
*/
|
||||||
|
public Integer getVeneuType(){
|
||||||
|
return veneuType;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置场馆ID
|
||||||
|
*
|
||||||
|
* @param venueId 场馆ID
|
||||||
|
*/
|
||||||
|
public void setVenueId(Integer venueId){
|
||||||
|
this.venueId = venueId;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取场馆ID
|
||||||
|
*
|
||||||
|
* @return 场馆ID
|
||||||
|
*/
|
||||||
|
public Integer getVenueId(){
|
||||||
|
return venueId;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置课程ID
|
||||||
|
*
|
||||||
|
* @param lessonId 课程ID
|
||||||
|
*/
|
||||||
|
public void setLessonId(Integer lessonId){
|
||||||
|
this.lessonId = lessonId;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取课程ID
|
||||||
|
*
|
||||||
|
* @return 课程ID
|
||||||
|
*/
|
||||||
|
public Integer getLessonId(){
|
||||||
|
return lessonId;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置用户ID
|
||||||
|
*
|
||||||
|
* @param memberId 用户ID
|
||||||
|
*/
|
||||||
|
public void setMemberId(Integer memberId){
|
||||||
|
this.memberId = memberId;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取用户ID
|
||||||
|
*
|
||||||
|
* @return 用户ID
|
||||||
|
*/
|
||||||
|
public Integer getMemberId(){
|
||||||
|
return memberId;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置预约课程支付订单号
|
||||||
|
*
|
||||||
|
* @param orderSn 预约课程支付订单号
|
||||||
|
*/
|
||||||
|
public void setOrderSn(String orderSn){
|
||||||
|
this.orderSn = orderSn;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取预约课程支付订单号
|
||||||
|
*
|
||||||
|
* @return 预约课程支付订单号
|
||||||
|
*/
|
||||||
|
public String getOrderSn(){
|
||||||
|
return orderSn;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置入场支付方式
|
||||||
|
*
|
||||||
|
* @param payType 入场支付方式
|
||||||
|
*/
|
||||||
|
public void setPayType(Integer payType){
|
||||||
|
this.payType = payType;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取入场支付方式
|
||||||
|
*
|
||||||
|
* @return 入场支付方式
|
||||||
|
*/
|
||||||
|
public Integer getPayType(){
|
||||||
|
return payType;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置用户会员卡ID
|
||||||
|
*
|
||||||
|
* @param memberCardId 用户会员卡ID
|
||||||
|
*/
|
||||||
|
public void setMemberCardId(Integer memberCardId){
|
||||||
|
this.memberCardId = memberCardId;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取用户会员卡ID
|
||||||
|
*
|
||||||
|
* @return 用户会员卡ID
|
||||||
|
*/
|
||||||
|
public Integer getMemberCardId(){
|
||||||
|
return memberCardId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getPaying() {
|
||||||
|
return paying;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPaying(Integer paying) {
|
||||||
|
this.paying = paying;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置使用状态
|
||||||
|
*
|
||||||
|
* @see com.ydd.framework.core.entity.enums.StatusEnum
|
||||||
|
* @param status 使用状态
|
||||||
|
*/
|
||||||
|
public void setStatus(Integer status){
|
||||||
|
this.status = status;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取使用状态
|
||||||
|
*
|
||||||
|
* @see com.ydd.framework.core.entity.enums.StatusEnum
|
||||||
|
* @return 使用状态
|
||||||
|
*/
|
||||||
|
public Integer getStatus(){
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置品台来源ID
|
||||||
|
*
|
||||||
|
* @param platformId 品台来源ID
|
||||||
|
*/
|
||||||
|
public void setPlatformId(Integer platformId){
|
||||||
|
this.platformId = platformId;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取品台来源ID
|
||||||
|
*
|
||||||
|
* @return 品台来源ID
|
||||||
|
*/
|
||||||
|
public Integer getPlatformId(){
|
||||||
|
return platformId;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置创建者编号
|
||||||
|
*
|
||||||
|
* @param createdId 创建者编号
|
||||||
|
*/
|
||||||
|
public void setCreatedId(Integer createdId){
|
||||||
|
this.createdId = createdId;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取创建者编号
|
||||||
|
*
|
||||||
|
* @return 创建者编号
|
||||||
|
*/
|
||||||
|
public Integer getCreatedId(){
|
||||||
|
return createdId;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置创建者编号
|
||||||
|
*
|
||||||
|
* @param modifiedId 创建者编号
|
||||||
|
*/
|
||||||
|
public void setModifiedId(Integer modifiedId){
|
||||||
|
this.modifiedId = modifiedId;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取创建者编号
|
||||||
|
*
|
||||||
|
* @return 创建者编号
|
||||||
|
*/
|
||||||
|
public Integer getModifiedId(){
|
||||||
|
return modifiedId;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置创建时间
|
||||||
|
*
|
||||||
|
* @param createdTime 创建时间
|
||||||
|
*/
|
||||||
|
public void setCreatedTime(Date createdTime){
|
||||||
|
this.createdTime = createdTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取创建时间
|
||||||
|
*
|
||||||
|
* @return 创建时间
|
||||||
|
*/
|
||||||
|
public Date getCreatedTime(){
|
||||||
|
return createdTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置更新时间
|
||||||
|
*
|
||||||
|
* @param modifiedTime 更新时间
|
||||||
|
*/
|
||||||
|
public void setModifiedTime(Date modifiedTime){
|
||||||
|
this.modifiedTime = modifiedTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取更新时间
|
||||||
|
*
|
||||||
|
* @return 更新时间
|
||||||
|
*/
|
||||||
|
public Date getModifiedTime(){
|
||||||
|
return modifiedTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置删除标识位
|
||||||
|
*
|
||||||
|
* @see com.ydd.framework.core.entity.enums.DeletedEnum
|
||||||
|
* @param deleted 删除标识位
|
||||||
|
*/
|
||||||
|
public void setDeleted(Integer deleted){
|
||||||
|
this.deleted = deleted;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取删除标识位
|
||||||
|
*
|
||||||
|
* @see com.ydd.framework.core.entity.enums.DeletedEnum
|
||||||
|
* @return 删除标识位
|
||||||
|
*/
|
||||||
|
public Integer getDeleted(){
|
||||||
|
return deleted;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getLessonName() {
|
||||||
|
return lessonName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLessonName(String lessonName) {
|
||||||
|
this.lessonName = lessonName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getLastEnter() {
|
||||||
|
return lastEnter;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLastEnter(Date lastEnter) {
|
||||||
|
this.lastEnter = lastEnter;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getStartTime() {
|
||||||
|
return startTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStartTime(Date startTime) {
|
||||||
|
this.startTime = startTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getEndTime() {
|
||||||
|
return endTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEndTime(Date endTime) {
|
||||||
|
this.endTime = endTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getPrice() {
|
||||||
|
return price;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPrice(BigDecimal price) {
|
||||||
|
this.price = price;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getLessonImage() {
|
||||||
|
return lessonImage;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLessonImage(String lessonImage) {
|
||||||
|
this.lessonImage = lessonImage;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getLessonCount() {
|
||||||
|
return lessonCount;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLessonCount(Integer lessonCount) {
|
||||||
|
this.lessonCount = lessonCount;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getAddress() {
|
||||||
|
return address;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAddress(String address) {
|
||||||
|
this.address = address;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getLongitude() {
|
||||||
|
return longitude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLongitude(String longitude) {
|
||||||
|
this.longitude = longitude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getLatitude() {
|
||||||
|
return latitude;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLatitude(String latitude) {
|
||||||
|
this.latitude = latitude;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -17,22 +17,35 @@ public class BarcodeOrderTime {
|
|||||||
|
|
||||||
private Date orderEnd;
|
private Date orderEnd;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 记录最后一次进门时间
|
||||||
|
*/
|
||||||
|
private Date lastEnter;
|
||||||
|
/**
|
||||||
|
* 记录最后一次出门时间
|
||||||
|
*/
|
||||||
|
private Date lastOut;
|
||||||
|
|
||||||
private Integer status;
|
private Integer status;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 入场 paying = 0 不需要退款
|
* 入场 paying = 0 不需要退款
|
||||||
* 出场未结算 paying = 1 需要退款
|
* 出场未结算 paying = 1 需要退款 1 也可能待结算 就是出场需要补费用,区别在于 payMoney = -1
|
||||||
*/
|
*/
|
||||||
private Integer paying;
|
private Integer paying;
|
||||||
/**
|
/**
|
||||||
* 0- 按次
|
* 退款金额 -1 代表出场还需要交钱
|
||||||
* 1- 按时
|
|
||||||
*/
|
*/
|
||||||
private Integer payMoney;
|
private Integer payMoney;
|
||||||
|
|
||||||
private String orderSn;
|
private String orderSn;
|
||||||
|
|
||||||
public BarcodeOrderTime(Integer id, Integer memberId, Integer venueId, Date createdTime, Date modifiedTime, Date orderStart, Date orderEnd, Integer status ,Integer paying, Integer payMoney, String orderSn) {
|
/**
|
||||||
|
* 追加付款订单号
|
||||||
|
*/
|
||||||
|
private String orderAddSn;
|
||||||
|
|
||||||
|
public BarcodeOrderTime(Integer id, Integer memberId, Integer venueId, Date createdTime, Date modifiedTime, Date orderStart, Date orderEnd, Integer status ,Integer paying, Integer payMoney, String orderSn, String orderAddSn) {
|
||||||
this.id = id;
|
this.id = id;
|
||||||
this.memberId = memberId;
|
this.memberId = memberId;
|
||||||
this.venueId = venueId;
|
this.venueId = venueId;
|
||||||
@@ -44,6 +57,7 @@ public class BarcodeOrderTime {
|
|||||||
this.paying = paying;
|
this.paying = paying;
|
||||||
this.payMoney = payMoney;
|
this.payMoney = payMoney;
|
||||||
this.orderSn = orderSn;
|
this.orderSn = orderSn;
|
||||||
|
this.orderAddSn = orderAddSn;
|
||||||
}
|
}
|
||||||
|
|
||||||
public BarcodeOrderTime() {
|
public BarcodeOrderTime() {
|
||||||
@@ -137,4 +151,28 @@ public class BarcodeOrderTime {
|
|||||||
public void setOrderSn(String orderSn) {
|
public void setOrderSn(String orderSn) {
|
||||||
this.orderSn = orderSn;
|
this.orderSn = orderSn;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getOrderAddSn() {
|
||||||
|
return orderAddSn;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOrderAddSn(String orderAddSn) {
|
||||||
|
this.orderAddSn = orderAddSn;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getLastEnter() {
|
||||||
|
return lastEnter;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLastEnter(Date lastEnter) {
|
||||||
|
this.lastEnter = lastEnter;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getLastOut() {
|
||||||
|
return lastOut;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLastOut(Date lastOut) {
|
||||||
|
this.lastOut = lastOut;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,25 +1,20 @@
|
|||||||
package com.ydd.oms.task;
|
package com.ydd.oms.task;
|
||||||
|
|
||||||
import com.enums.BarCodeStatusEnum;
|
import com.enums.BarCodeStatusEnum;
|
||||||
import com.enums.StayEnum;
|
|
||||||
import com.sv.entity.BarcodeOrderTime;
|
import com.sv.entity.BarcodeOrderTime;
|
||||||
import com.sv.entity.MemberEnterStatus;
|
|
||||||
import com.sv.entity.MemberRefund;
|
import com.sv.entity.MemberRefund;
|
||||||
import com.sv.entity.Order;
|
import com.sv.entity.Order;
|
||||||
import com.sv.mapper.BarcodeOrderTimeMapper;
|
import com.sv.mapper.BarcodeOrderTimeMapper;
|
||||||
import com.sv.mapper.MemberEnterStatusMapper;
|
|
||||||
import com.sv.mapper.MemberRefundMapper;
|
import com.sv.mapper.MemberRefundMapper;
|
||||||
import com.sv.mapper.OrderMapper;
|
import com.sv.mapper.OrderMapper;
|
||||||
import com.sv.service.api.config.WechatPayService;
|
import com.sv.service.api.config.WechatPayService;
|
||||||
import com.sv.service.api.util.DateUtilCard;
|
import com.sv.service.api.util.DateUtilCard;
|
||||||
import com.sv.service.oms.OrderService;
|
|
||||||
import org.apache.commons.lang3.RandomStringUtils;
|
import org.apache.commons.lang3.RandomStringUtils;
|
||||||
import org.apache.commons.lang3.time.DateFormatUtils;
|
import org.apache.commons.lang3.time.DateFormatUtils;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.scheduling.annotation.Scheduled;
|
import org.springframework.scheduling.annotation.Scheduled;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
@@ -65,7 +60,7 @@ public class BarcodeTimeOrderTask {
|
|||||||
@Scheduled(cron = "0 0/2 * * * ?")
|
@Scheduled(cron = "0 0/2 * * * ?")
|
||||||
public void refundOrder(){
|
public void refundOrder(){
|
||||||
logger.error("执行BarcodeTimeOrderTask.refundOrder");
|
logger.error("执行BarcodeTimeOrderTask.refundOrder");
|
||||||
// 查询用户已经过期的按次入场订单
|
// 需要支付的订单
|
||||||
List<BarcodeOrderTime> barcodeOrderTimes = barcodeOrderTimeMapper.needPayOrderList();
|
List<BarcodeOrderTime> barcodeOrderTimes = barcodeOrderTimeMapper.needPayOrderList();
|
||||||
if (barcodeOrderTimes != null && barcodeOrderTimes.size() > 0){
|
if (barcodeOrderTimes != null && barcodeOrderTimes.size() > 0){
|
||||||
Date date = new Date();
|
Date date = new Date();
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.sv.mapper;
|
package com.sv.mapper;
|
||||||
|
|
||||||
|
import com.sv.dto.api.MemberEnterOrderDTO;
|
||||||
import com.sv.entity.BarcodeOrderTime;
|
import com.sv.entity.BarcodeOrderTime;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
@@ -29,4 +30,7 @@ public interface BarcodeOrderTimeMapper {
|
|||||||
|
|
||||||
List<BarcodeOrderTime> needPayOrderList();
|
List<BarcodeOrderTime> needPayOrderList();
|
||||||
|
|
||||||
|
List<MemberEnterOrderDTO> memberOrderEnterList(@Param("memberId") Integer memberId);
|
||||||
|
|
||||||
|
MemberEnterOrderDTO memberOrderEnterDetail(@Param("memberId") Integer memberId,@Param("enterId") Integer enterId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,6 @@ import com.sv.mapper.OrderMapper;
|
|||||||
import com.sv.mapper.VenueMapper;
|
import com.sv.mapper.VenueMapper;
|
||||||
import com.sv.mapper.VenuePriceMapper;
|
import com.sv.mapper.VenuePriceMapper;
|
||||||
import com.sv.service.api.config.WechatPayService;
|
import com.sv.service.api.config.WechatPayService;
|
||||||
import com.sv.service.api.util.DateUtilCard;
|
|
||||||
import com.ydd.framework.core.common.Pagination;
|
import com.ydd.framework.core.common.Pagination;
|
||||||
import com.ydd.framework.core.common.utils.RequestUtils;
|
import com.ydd.framework.core.common.utils.RequestUtils;
|
||||||
import com.ydd.framework.core.exception.ServiceException;
|
import com.ydd.framework.core.exception.ServiceException;
|
||||||
@@ -299,7 +298,8 @@ public class OrderService extends BaseServiceImpl {
|
|||||||
if (lastOrder != null) {
|
if (lastOrder != null) {
|
||||||
lastOrder.setPaying(1);
|
lastOrder.setPaying(1);
|
||||||
lastOrder.setPayMoney(-1);
|
lastOrder.setPayMoney(-1);
|
||||||
lastOrder.setOrderSn(order.getOrderSn());
|
lastOrder.setOrderAddSn(order.getOrderSn());
|
||||||
|
// lastOrder.setOrderSn(order.getOrderSn());
|
||||||
lastOrder.setModifiedTime(new Date());
|
lastOrder.setModifiedTime(new Date());
|
||||||
barcodeOrderTimeMapper.updateByPrimaryKey(lastOrder);
|
barcodeOrderTimeMapper.updateByPrimaryKey(lastOrder);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,13 +1,16 @@
|
|||||||
package com.sv.service.api;
|
package com.sv.service.api;
|
||||||
|
|
||||||
import com.enums.*;
|
import com.enums.*;
|
||||||
|
import com.github.pagehelper.PageHelper;
|
||||||
import com.sv.dto.BasketEnterResult;
|
import com.sv.dto.BasketEnterResult;
|
||||||
|
import com.sv.dto.api.MemberEnterOrderDTO;
|
||||||
import com.sv.entity.*;
|
import com.sv.entity.*;
|
||||||
import com.sv.exception.api.ExceptionCodeTemplate;
|
import com.sv.exception.api.ExceptionCodeTemplate;
|
||||||
import com.sv.mapper.BarcodeOrderTimeMapper;
|
import com.sv.mapper.BarcodeOrderTimeMapper;
|
||||||
import com.sv.mapper.OrderMapper;
|
import com.sv.mapper.OrderMapper;
|
||||||
import com.sv.mapper.VenueMapper;
|
import com.sv.mapper.VenueMapper;
|
||||||
import com.sv.service.api.util.DateUtilCard;
|
import com.sv.service.api.util.DateUtilCard;
|
||||||
|
import com.ydd.framework.core.common.Pagination;
|
||||||
import com.ydd.framework.core.common.utils.ValidationUtils;
|
import com.ydd.framework.core.common.utils.ValidationUtils;
|
||||||
import com.ydd.framework.core.exception.ServiceException;
|
import com.ydd.framework.core.exception.ServiceException;
|
||||||
import com.ydd.framework.core.service.impl.BaseServiceImpl;
|
import com.ydd.framework.core.service.impl.BaseServiceImpl;
|
||||||
@@ -80,10 +83,13 @@ public class VenueEnterService extends BaseServiceImpl {
|
|||||||
checkOrderPaying(memberId);
|
checkOrderPaying(memberId);
|
||||||
basketEnterResult.setFlg(2);
|
basketEnterResult.setFlg(2);
|
||||||
basketEnterResult.setMsg("订单金额"+ price + "元,请确认!");
|
basketEnterResult.setMsg("订单金额"+ price + "元,请确认!");
|
||||||
|
if (PayStyleEnum.HOUR.getValue() == venue.getPayStyle()){
|
||||||
|
basketEnterResult.setMsg("预付押金"+ price + "元,出门后结算,收费规则见场馆主页详情");
|
||||||
|
}
|
||||||
basketEnterResult.setMoney(price);
|
basketEnterResult.setMoney(price);
|
||||||
}else {
|
}else {
|
||||||
// 不需要交钱,则不需要微信支付,直接展示二维码
|
// 不需要交钱,则不需要微信支付,直接展示二维码
|
||||||
Integer timePayHour = 2;
|
Integer timePayHour = 2; // 此处修改押金小时数
|
||||||
if(PayStyleEnum.TIME.getValue() == venue.getPayStyle()){
|
if(PayStyleEnum.TIME.getValue() == venue.getPayStyle()){
|
||||||
// 按次入场先收钱,且多久不收钱,出场不收钱
|
// 按次入场先收钱,且多久不收钱,出场不收钱
|
||||||
// 该用户上次订单的是否逾期
|
// 该用户上次订单的是否逾期
|
||||||
@@ -152,9 +158,14 @@ public class VenueEnterService extends BaseServiceImpl {
|
|||||||
// 按时出场选择按照分钟四舍五入到角扣款
|
// 按时出场选择按照分钟四舍五入到角扣款
|
||||||
price = venuePriceEnter.getPrice();
|
price = venuePriceEnter.getPrice();
|
||||||
int minutes = DateUtilCard.diffMinute(lastOrder.getOrderStart(), dateNow);
|
int minutes = DateUtilCard.diffMinute(lastOrder.getOrderStart(), dateNow);
|
||||||
int hours = (minutes - 1) / 60;
|
int hours = minutes / 60;
|
||||||
// 需要补收的价格
|
// 需要补收的价格
|
||||||
price = price.multiply(new BigDecimal(hours - 1));
|
price = price.multiply(new BigDecimal(hours - 1)); // 此处修改押金小时数
|
||||||
|
int mod = new BigDecimal(minutes).divideAndRemainder(new BigDecimal(60))[1].intValue();
|
||||||
|
if (hours >= 1 && mod <= 30) {
|
||||||
|
// 超过一个小时 且不满半小时,只收一半的钱
|
||||||
|
price = price.subtract(price.divide(new BigDecimal(2)).setScale(1,BigDecimal.ROUND_HALF_UP));
|
||||||
|
}
|
||||||
logger.info("用户出场$" + memberId + "$经过时间为" + minutes + "分钟,价格为:"+ price);
|
logger.info("用户出场$" + memberId + "$经过时间为" + minutes + "分钟,价格为:"+ price);
|
||||||
if (price.compareTo(BigDecimal.ZERO) > 0 ) {
|
if (price.compareTo(BigDecimal.ZERO) > 0 ) {
|
||||||
checkOrderPaying(memberId);
|
checkOrderPaying(memberId);
|
||||||
@@ -222,10 +233,10 @@ public class VenueEnterService extends BaseServiceImpl {
|
|||||||
private void createBarcodeTimeOrder(Integer memberId, Integer venueId, Integer timePayHour,String orderSn) {
|
private void createBarcodeTimeOrder(Integer memberId, Integer venueId, Integer timePayHour,String orderSn) {
|
||||||
Date startDate = new Date();
|
Date startDate = new Date();
|
||||||
Date endDate = DateUtilCard.addHours(startDate, timePayHour);
|
Date endDate = DateUtilCard.addHours(startDate, timePayHour);
|
||||||
// 如果小于2小时,则默认给15分钟宽限期,包时订单
|
// // 如果小于2小时,则默认给15分钟宽限期,包时订单
|
||||||
if (timePayHour <= 2) {
|
// if (timePayHour <= 2) {
|
||||||
endDate = DateUtilCard.addMinute(endDate,15);
|
// endDate = DateUtilCard.addMinute(endDate,15);
|
||||||
}
|
// }
|
||||||
BarcodeOrderTime barcodeOrderTime = new BarcodeOrderTime();
|
BarcodeOrderTime barcodeOrderTime = new BarcodeOrderTime();
|
||||||
barcodeOrderTime.setMemberId(memberId);
|
barcodeOrderTime.setMemberId(memberId);
|
||||||
barcodeOrderTime.setVenueId(venueId);
|
barcodeOrderTime.setVenueId(venueId);
|
||||||
@@ -249,7 +260,7 @@ public class VenueEnterService extends BaseServiceImpl {
|
|||||||
Venue venue = venueMapper.findById(venueId);
|
Venue venue = venueMapper.findById(venueId);
|
||||||
createMemberMoneyLog(MoneyLogEnum.JOIN.value, order.getPrice(), memberId, order.getPlatformId(), PayTypeEnum.WEI_XIN.value, null,venue.getId(), venue.getType());
|
createMemberMoneyLog(MoneyLogEnum.JOIN.value, order.getPrice(), memberId, order.getPlatformId(), PayTypeEnum.WEI_XIN.value, null,venue.getId(), venue.getType());
|
||||||
if (EnterEnum.OUT.value != enterFlag) {
|
if (EnterEnum.OUT.value != enterFlag) {
|
||||||
Integer timePayHour = 2;
|
Integer timePayHour = 2; // 此处修改押金小时数
|
||||||
if(PayStyleEnum.TIME.getValue() == venue.getPayStyle()){
|
if(PayStyleEnum.TIME.getValue() == venue.getPayStyle()){
|
||||||
// 按次入场先收钱,且多久不收钱,出场不收钱
|
// 按次入场先收钱,且多久不收钱,出场不收钱
|
||||||
// 该用户上次订单的是否逾期
|
// 该用户上次订单的是否逾期
|
||||||
@@ -263,9 +274,54 @@ public class VenueEnterService extends BaseServiceImpl {
|
|||||||
BarcodeOrderTime lastOrder = barcodeOrderTimeMapper.findLastOrderBySn(memberId, venueId,order.getOrderSn());
|
BarcodeOrderTime lastOrder = barcodeOrderTimeMapper.findLastOrderBySn(memberId, venueId,order.getOrderSn());
|
||||||
if (lastOrder != null) {
|
if (lastOrder != null) {
|
||||||
lastOrder.setPaying(2);
|
lastOrder.setPaying(2);
|
||||||
|
lastOrder.setStatus(BarCodeStatusEnum.USED.getValue());
|
||||||
lastOrder.setModifiedTime(new Date());
|
lastOrder.setModifiedTime(new Date());
|
||||||
barcodeOrderTimeMapper.updateByPrimaryKey(lastOrder);
|
barcodeOrderTimeMapper.updateByPrimaryKey(lastOrder);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 我的进场订单
|
||||||
|
* @param memberId
|
||||||
|
* @param pagination
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public Pagination memberOrderEnterList(Integer memberId, Pagination pagination) {
|
||||||
|
// 判断用户信息
|
||||||
|
if (memberId == null) {
|
||||||
|
throw new ServiceException(com.ydd.framework.core.exception.ExceptionCodeTemplate.NEED_LOGIN);
|
||||||
|
}
|
||||||
|
PageHelper.startPage(pagination.getPage(), pagination.getPageSize());
|
||||||
|
pagination.setQueryResult(barcodeOrderTimeMapper.memberOrderEnterList(memberId));
|
||||||
|
return pagination;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 我的进场订单明细
|
||||||
|
*/
|
||||||
|
public MemberEnterOrderDTO memberOrderEnterDetail(Integer memberId, Integer enterId) {
|
||||||
|
// 判断用户信息
|
||||||
|
if (memberId == null) {
|
||||||
|
throw new ServiceException(com.ydd.framework.core.exception.ExceptionCodeTemplate.NEED_LOGIN);
|
||||||
|
}
|
||||||
|
MemberEnterOrderDTO memberEnterOrderDTO = barcodeOrderTimeMapper.memberOrderEnterDetail(memberId, enterId);
|
||||||
|
Date endTime = memberEnterOrderDTO.getEndTime();
|
||||||
|
if (endTime == null) {
|
||||||
|
endTime = new Date();
|
||||||
|
}
|
||||||
|
int diffMinute = DateUtilCard.diffMinute(memberEnterOrderDTO.getStartTime(), endTime);
|
||||||
|
memberEnterOrderDTO.setStatus(EnterOrderStatusEnum.OVER.value);
|
||||||
|
if (BarCodeStatusEnum.INIT.getValue() == memberEnterOrderDTO.getStatus()) {
|
||||||
|
if (1 == memberEnterOrderDTO.getPaying()) {
|
||||||
|
memberEnterOrderDTO.setStatus(EnterOrderStatusEnum.PAYING.value);
|
||||||
|
}
|
||||||
|
if (0 == memberEnterOrderDTO.getPaying()){
|
||||||
|
memberEnterOrderDTO.setStatus(EnterOrderStatusEnum.USING.value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
memberEnterOrderDTO.setLessonCount(diffMinute);
|
||||||
|
return memberEnterOrderDTO;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,14 +10,17 @@
|
|||||||
<arg column="modified_time" jdbcType="TIMESTAMP" javaType="java.util.Date" />
|
<arg column="modified_time" jdbcType="TIMESTAMP" javaType="java.util.Date" />
|
||||||
<arg column="order_start" jdbcType="TIMESTAMP" javaType="java.util.Date" />
|
<arg column="order_start" jdbcType="TIMESTAMP" javaType="java.util.Date" />
|
||||||
<arg column="order_end" jdbcType="TIMESTAMP" javaType="java.util.Date" />
|
<arg column="order_end" jdbcType="TIMESTAMP" javaType="java.util.Date" />
|
||||||
|
<arg column="last_enter" jdbcType="TIMESTAMP" javaType="java.util.Date" />
|
||||||
|
<arg column="last_out" jdbcType="TIMESTAMP" javaType="java.util.Date" />
|
||||||
<arg column="status" jdbcType="INTEGER" javaType="java.lang.Integer" />
|
<arg column="status" jdbcType="INTEGER" javaType="java.lang.Integer" />
|
||||||
<arg column="paying" jdbcType="INTEGER" javaType="java.lang.Integer" />
|
<arg column="paying" jdbcType="INTEGER" javaType="java.lang.Integer" />
|
||||||
<arg column="pay_money" jdbcType="INTEGER" javaType="java.lang.Integer" />
|
<arg column="pay_money" jdbcType="INTEGER" javaType="java.lang.Integer" />
|
||||||
<arg column="order_sn" jdbcType="VARCHAR" javaType="java.lang.String" />
|
<arg column="order_sn" jdbcType="VARCHAR" javaType="java.lang.String" />
|
||||||
|
<arg column="order_add_sn" jdbcType="VARCHAR" javaType="java.lang.String" />
|
||||||
</constructor>
|
</constructor>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
<sql id="Base_Column_List" >
|
<sql id="Base_Column_List" >
|
||||||
id, member_id, venue_id, created_time, modified_time, order_start, order_end, status, paying, pay_money, order_sn
|
id, member_id, venue_id, created_time, modified_time, order_start, order_end, last_out, last_enter, status, paying, pay_money, order_sn,order_add_sn
|
||||||
</sql>
|
</sql>
|
||||||
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
|
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
|
||||||
select
|
select
|
||||||
@@ -32,10 +35,12 @@
|
|||||||
<insert id="insert" parameterType="com.sv.entity.BarcodeOrderTime" >
|
<insert id="insert" parameterType="com.sv.entity.BarcodeOrderTime" >
|
||||||
insert into sv_barcode_order_time (id, member_id, venue_id,
|
insert into sv_barcode_order_time (id, member_id, venue_id,
|
||||||
created_time, modified_time, order_start,
|
created_time, modified_time, order_start,
|
||||||
order_end, status,paying ,pay_money,order_sn)
|
order_end, last_enter, last_out, status,paying ,pay_money,order_sn)
|
||||||
values (#{id,jdbcType=INTEGER}, #{memberId,jdbcType=INTEGER}, #{venueId,jdbcType=INTEGER},
|
values (#{id,jdbcType=INTEGER}, #{memberId,jdbcType=INTEGER}, #{venueId,jdbcType=INTEGER},
|
||||||
#{createdTime,jdbcType=TIMESTAMP}, #{modifiedTime,jdbcType=TIMESTAMP}, #{orderStart,jdbcType=TIMESTAMP},
|
#{createdTime,jdbcType=TIMESTAMP}, #{modifiedTime,jdbcType=TIMESTAMP}, #{orderStart,jdbcType=TIMESTAMP},
|
||||||
#{orderEnd,jdbcType=TIMESTAMP}, #{status,jdbcType=INTEGER}, #{paying,jdbcType=INTEGER}, #{payMoney,jdbcType=INTEGER}, #{orderSn,jdbcType=VARCHAR})
|
#{orderEnd,jdbcType=TIMESTAMP}, #{lastEnter,jdbcType=TIMESTAMP}, #{lastOut,jdbcType=TIMESTAMP}, #{status,jdbcType=INTEGER},
|
||||||
|
#{paying,jdbcType=INTEGER},#{payMoney,jdbcType=INTEGER}, #{orderSn,jdbcType=VARCHAR}
|
||||||
|
,#{orderAddSn,jdbcType=VARCHAR})
|
||||||
</insert>
|
</insert>
|
||||||
<insert id="insertSelective" parameterType="com.sv.entity.BarcodeOrderTime" >
|
<insert id="insertSelective" parameterType="com.sv.entity.BarcodeOrderTime" >
|
||||||
insert into sv_barcode_order_time
|
insert into sv_barcode_order_time
|
||||||
@@ -61,10 +66,16 @@
|
|||||||
<if test="orderEnd != null" >
|
<if test="orderEnd != null" >
|
||||||
order_end,
|
order_end,
|
||||||
</if>
|
</if>
|
||||||
|
<if test="lastEnter != null" >
|
||||||
|
last_enter,
|
||||||
|
</if>
|
||||||
|
<if test="lastOut != null" >
|
||||||
|
last_out,
|
||||||
|
</if>
|
||||||
<if test="status != null" >
|
<if test="status != null" >
|
||||||
status,
|
status,
|
||||||
</if>
|
</if>
|
||||||
<if test="status != null" >
|
<if test="paying != null" >
|
||||||
paying,
|
paying,
|
||||||
</if>
|
</if>
|
||||||
<if test="payMoney != null" >
|
<if test="payMoney != null" >
|
||||||
@@ -73,6 +84,9 @@
|
|||||||
<if test="orderSn != null" >
|
<if test="orderSn != null" >
|
||||||
order_sn,
|
order_sn,
|
||||||
</if>
|
</if>
|
||||||
|
<if test="orderAddSn != null" >
|
||||||
|
order_add_sn,
|
||||||
|
</if>
|
||||||
</trim>
|
</trim>
|
||||||
<trim prefix="values (" suffix=")" suffixOverrides="," >
|
<trim prefix="values (" suffix=")" suffixOverrides="," >
|
||||||
<if test="id != null" >
|
<if test="id != null" >
|
||||||
@@ -96,6 +110,12 @@
|
|||||||
<if test="orderEnd != null" >
|
<if test="orderEnd != null" >
|
||||||
#{orderEnd,jdbcType=TIMESTAMP},
|
#{orderEnd,jdbcType=TIMESTAMP},
|
||||||
</if>
|
</if>
|
||||||
|
<if test="lastEnter != null" >
|
||||||
|
#{lastEnter,jdbcType=TIMESTAMP},
|
||||||
|
</if>
|
||||||
|
<if test="lastOut != null" >
|
||||||
|
#{lastOut,jdbcType=TIMESTAMP},
|
||||||
|
</if>
|
||||||
<if test="status != null" >
|
<if test="status != null" >
|
||||||
#{status,jdbcType=INTEGER},
|
#{status,jdbcType=INTEGER},
|
||||||
</if>
|
</if>
|
||||||
@@ -108,6 +128,9 @@
|
|||||||
<if test="orderSn != null" >
|
<if test="orderSn != null" >
|
||||||
#{orderSn,jdbcType=VARCHAR},
|
#{orderSn,jdbcType=VARCHAR},
|
||||||
</if>
|
</if>
|
||||||
|
<if test="orderAddSn != null" >
|
||||||
|
#{orderAddSn,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
</trim>
|
</trim>
|
||||||
</insert>
|
</insert>
|
||||||
<update id="updateByPrimaryKeySelective" parameterType="com.sv.entity.BarcodeOrderTime" >
|
<update id="updateByPrimaryKeySelective" parameterType="com.sv.entity.BarcodeOrderTime" >
|
||||||
@@ -131,6 +154,12 @@
|
|||||||
<if test="orderEnd != null" >
|
<if test="orderEnd != null" >
|
||||||
order_end = #{orderEnd,jdbcType=TIMESTAMP},
|
order_end = #{orderEnd,jdbcType=TIMESTAMP},
|
||||||
</if>
|
</if>
|
||||||
|
<if test="lastEnter != null" >
|
||||||
|
last_enter = #{lastEnter,jdbcType=TIMESTAMP},
|
||||||
|
</if>
|
||||||
|
<if test="lastOut != null" >
|
||||||
|
last_out = #{lastOut,jdbcType=TIMESTAMP},
|
||||||
|
</if>
|
||||||
<if test="status != null" >
|
<if test="status != null" >
|
||||||
status = #{status,jdbcType=INTEGER},
|
status = #{status,jdbcType=INTEGER},
|
||||||
</if>
|
</if>
|
||||||
@@ -143,6 +172,9 @@
|
|||||||
<if test="orderSn != null" >
|
<if test="orderSn != null" >
|
||||||
order_sn = #{orderSn,jdbcType=VARCHAR},
|
order_sn = #{orderSn,jdbcType=VARCHAR},
|
||||||
</if>
|
</if>
|
||||||
|
<if test="orderSn != null" >
|
||||||
|
order_add_sn = #{orderAddSn,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
</set>
|
</set>
|
||||||
where id = #{id,jdbcType=INTEGER}
|
where id = #{id,jdbcType=INTEGER}
|
||||||
</update>
|
</update>
|
||||||
@@ -154,10 +186,13 @@
|
|||||||
modified_time = #{modifiedTime,jdbcType=TIMESTAMP},
|
modified_time = #{modifiedTime,jdbcType=TIMESTAMP},
|
||||||
order_start = #{orderStart,jdbcType=TIMESTAMP},
|
order_start = #{orderStart,jdbcType=TIMESTAMP},
|
||||||
order_end = #{orderEnd,jdbcType=TIMESTAMP},
|
order_end = #{orderEnd,jdbcType=TIMESTAMP},
|
||||||
|
last_enter = #{lastEnter,jdbcType=TIMESTAMP},
|
||||||
|
last_out = #{lastOut,jdbcType=TIMESTAMP},
|
||||||
status = #{status,jdbcType=INTEGER},
|
status = #{status,jdbcType=INTEGER},
|
||||||
paying = #{paying,jdbcType=INTEGER},
|
paying = #{paying,jdbcType=INTEGER},
|
||||||
pay_money = #{payMoney,jdbcType=INTEGER},
|
pay_money = #{payMoney,jdbcType=INTEGER},
|
||||||
order_sn = #{orderSn,jdbcType=VARCHAR}
|
order_sn = #{orderSn,jdbcType=VARCHAR}
|
||||||
|
order_add_sn = #{orderAddSn,jdbcType=VARCHAR}
|
||||||
where id = #{id,jdbcType=VARCHAR}
|
where id = #{id,jdbcType=VARCHAR}
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
@@ -180,7 +215,7 @@
|
|||||||
<include refid="Base_Column_List" />
|
<include refid="Base_Column_List" />
|
||||||
from sv_barcode_order_time
|
from sv_barcode_order_time
|
||||||
where member_id = #{memberId,jdbcType=INTEGER} and venue_id = #{venueId,jdbcType=INTEGER}
|
where member_id = #{memberId,jdbcType=INTEGER} and venue_id = #{venueId,jdbcType=INTEGER}
|
||||||
and order_sn = #{orderSn,jdbcType=VARCHAR}
|
and order_add_sn = #{orderSn,jdbcType=VARCHAR}
|
||||||
order by order_end desc LIMIT 1
|
order by order_end desc LIMIT 1
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
@@ -198,4 +233,54 @@
|
|||||||
where paying = 1
|
where paying = 1
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="memberOrderEnterList" resultType="com.sv.dto.api.MemberEnterOrderDTO">
|
||||||
|
select
|
||||||
|
t.id as id,
|
||||||
|
ue.id as lessonId,
|
||||||
|
ue.`name` as lessonName,
|
||||||
|
ue.list_image as lessonImage,
|
||||||
|
t.last_enter as lastEnter,
|
||||||
|
t.order_start as startTime,
|
||||||
|
t.last_out as endTime,
|
||||||
|
(select IFNULL(sum(ot.price),0) from sv_order ot
|
||||||
|
where ot.member_id = #{memberId,jdbcType=INTEGER} and (ot.order_sn = t.order_sn or ot.order_sn = t.order_add_sn)
|
||||||
|
) as price,
|
||||||
|
t.paying,
|
||||||
|
t.order_sn as orderSn,
|
||||||
|
t.`status`,
|
||||||
|
t.created_time as createTime,
|
||||||
|
1 as payType,
|
||||||
|
ue.address as address,
|
||||||
|
ue.longitude,
|
||||||
|
ue.latitude
|
||||||
|
from sv_barcode_order_time t LEFT JOIN sv_venue ue on t.venue_id = ue.id
|
||||||
|
where t.member_id = #{memberId,jdbcType=INTEGER}
|
||||||
|
order by t.order_start desc
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="memberOrderEnterDetail" resultType="com.sv.dto.api.MemberEnterOrderDTO">
|
||||||
|
select
|
||||||
|
t.id as id,
|
||||||
|
ue.id as lessonId,
|
||||||
|
ue.`name` as lessonName,
|
||||||
|
ue.list_image as lessonImage,
|
||||||
|
t.last_enter as lastEnter,
|
||||||
|
t.order_start as startTime,
|
||||||
|
t.last_out as endTime,
|
||||||
|
(select IFNULL(sum(ot.price),0) from sv_order ot
|
||||||
|
where ot.member_id = #{memberId,jdbcType=INTEGER} and (ot.order_sn = t.order_sn or ot.order_sn = t.order_add_sn)
|
||||||
|
) as price,
|
||||||
|
t.paying,
|
||||||
|
t.order_sn as orderSn,
|
||||||
|
t.`status`,
|
||||||
|
t.created_time as createTime,
|
||||||
|
1 as payType,
|
||||||
|
ue.address as address,
|
||||||
|
ue.longitude,
|
||||||
|
ue.latitude
|
||||||
|
from sv_barcode_order_time t LEFT JOIN sv_venue ue on t.venue_id = ue.id
|
||||||
|
where t.member_id = #{memberId,jdbcType=INTEGER}
|
||||||
|
and t.id = #{enterId,jdbcType=INTEGER}
|
||||||
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
Reference in New Issue
Block a user