Revert "feat: 东区缴费分支初始化"

This reverts commit 90c60a4910.
This commit is contained in:
2025-05-15 18:15:36 +08:00
parent 90c60a4910
commit e6ab06b994
1198 changed files with 72566 additions and 3763 deletions
@@ -0,0 +1,42 @@
package com.yida.data.device.dto.consume;
import com.yida.data.common.core.common.BaseDTO;
import com.yida.data.common.core.entity.consume.EduConsumeOrder;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.io.Serializable;
/**
* 消费订单后台列表请求类
*
* @author ZYJ
* @date 2023/4/14
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "ConsumeOrderPageDTO", description = "消费订单后台列表请求类")
public class ConsumeOrderPageDTO extends BaseDTO<EduConsumeOrder> implements Serializable {
private static final long serialVersionUID = 5188209169253382906L;
@ApiModelProperty("订单状态")
private String orderStatus;
@ApiModelProperty("订单号")
private String orderCode;
@ApiModelProperty("学生姓名或校园卡号")
private String searchData;
@ApiModelProperty("学校id")
private Long schoolId;
}
@@ -0,0 +1,54 @@
package com.yida.data.device.dto.consume;
import com.yida.data.common.core.enums.PayWay;
import com.yida.data.common.core.enums.UnionPayTypeEnum;
import com.yida.data.common.core.enums.WxPayTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 生成消费订单请求类
*
* @author ZYJ
* @date 2023/3/23
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "CreateConsumeOrderDTO", description = "生成消费订单请求类")
public class CreateConsumeOrderDTO implements Serializable {
private static final long serialVersionUID = 230831080990848937L;
@ApiModelProperty("学生id")
private Long studentId;
@ApiModelProperty("学校id")
private Long schoolId;
@ApiModelProperty("充值金额. 单位: 元")
private BigDecimal money;
/**
* 支付方式
* {@link PayWay}
*/
@ApiModelProperty("支付方式")
private String payWay;
/**
* 支付类型
* 银联云闪付: {@link UnionPayTypeEnum}
* 微信类型: {@link WxPayTypeEnum}
*/
@ApiModelProperty("支付类型")
private Integer payType;
}
@@ -0,0 +1,36 @@
package com.yida.data.device.dto.consume;
import com.yida.data.common.core.common.BaseDTO;
import com.yida.data.common.core.entity.consume.EduConsumeOrder;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.io.Serializable;
/**
* 消费订单列表请求类(充值记录)
*
* @author ZYJ
* @date 2023/3/24
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "H5ConsumeOrderPageDTO", description = "消费订单列表请求类(充值记录)")
public class H5ConsumeOrderPageDTO extends BaseDTO<EduConsumeOrder> implements Serializable {
private static final long serialVersionUID = 3749227164138041581L;
@ApiModelProperty("学生id")
private Long studentId;
@ApiModelProperty("学校id")
private Long deptId;
}
@@ -0,0 +1,36 @@
package com.yida.data.device.dto.consume;
import com.yida.data.common.core.common.BaseDTO;
import com.yida.data.common.core.entity.consume.EduConsumeRecord;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.io.Serializable;
/**
* 消费机学生消费记录列表请求类
*
* @author ZYJ
* @date 2023/3/24
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "H5ConsumeRecordPageDTO", description = "消费机学生消费记录列表请求类")
public class H5ConsumeRecordPageDTO extends BaseDTO<EduConsumeRecord> implements Serializable {
private static final long serialVersionUID = 4230279140715058049L;
@ApiModelProperty("学生id")
private Long studentId;
@ApiModelProperty("学校id")
private Long deptId;
}
@@ -0,0 +1,32 @@
package com.yida.data.device.fallback;
import com.yida.data.common.core.annotation.Fallback;
import com.yida.data.common.core.common.ResultBean;
import com.yida.data.common.core.entity.consume.EduStudentConsumeCard;
import com.yida.data.device.feign.consume.RemoteConsumeCardService;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
/**
* RemoteConsumeCardService fallback处理类
*
* @author ZYJ
* @date 2023/3/20
*/
@Slf4j
@Fallback
public class RemoteConsumeCardServiceFallback implements FallbackFactory<RemoteConsumeCardService> {
@Override
public RemoteConsumeCardService create(Throwable throwable) {
log.error("RemoteConsumeCardService fallback reason:{}", throwable.getMessage());
return new RemoteConsumeCardService() {
@Override
public ResultBean<String> saveConsumeCard(EduStudentConsumeCard eduStudentConsumeCard) {
return null;
}
};
}
}
@@ -0,0 +1,36 @@
package com.yida.data.device.fallback;
import com.yida.data.common.core.annotation.Fallback;
import com.yida.data.common.core.common.ResultBean;
import com.yida.data.device.feign.consume.RemoteConsumeOrderService;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
/**
* RemoteConsumeOrderService fallback处理类
*
* @author ZYJ
* @date 2023/4/3
*/
@Slf4j
@Fallback
public class RemoteConsumeOrderServiceFallback implements FallbackFactory<RemoteConsumeOrderService> {
@Override
public RemoteConsumeOrderService create(Throwable throwable) {
log.error("RemoteConsumeOrderService fallback reason:{}", throwable.getMessage());
return new RemoteConsumeOrderService() {
@Override
public ResultBean<String> updateOrderStatus() {
return null;
}
@Override
public ResultBean<String> updateRefundStatus() {
return null;
}
};
}
}
@@ -0,0 +1,20 @@
package com.yida.data.device.feign.consume;
import com.yida.data.common.core.common.ResultBean;
import com.yida.data.common.core.entity.constant.FebsServerConstant;
import com.yida.data.common.core.entity.consume.EduStudentConsumeCard;
import com.yida.data.device.fallback.RemoteStudentCardServiceFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@FeignClient(value = FebsServerConstant.EDU_DEVICE, contextId = "consumeCardClient",
fallbackFactory = RemoteStudentCardServiceFallback.class)
public interface RemoteConsumeCardService {
/**
* 保存学生消费机信息
*/
@PostMapping("/consumeCard/saveConsumeCard")
ResultBean<String> saveConsumeCard(@RequestBody EduStudentConsumeCard eduStudentConsumeCard);
}
@@ -0,0 +1,38 @@
package com.yida.data.device.feign.consume;
import com.yida.data.common.core.common.ResultBean;
import com.yida.data.common.core.entity.constant.FebsServerConstant;
import com.yida.data.device.fallback.RemoteConsumeOrderServiceFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
/**
* 消费订单模块feign
*
* @author ZYJ
* @date 2023/4/3
*/
@FeignClient(value = FebsServerConstant.EDU_DEVICE, contextId = "consumeOrderServiceClient",
fallbackFactory = RemoteConsumeOrderServiceFallback.class)
public interface RemoteConsumeOrderService {
/**
* 更新超时订单状态
*
* @return com.yida.data.common.core.common.ResultBean<java.lang.String>
* @author ZYJ
* @date 2023/4/3 13:26
*/
@GetMapping("/in/consume/updateOrderStatus")
ResultBean<String> updateOrderStatus();
/**
* 更新退款订单状态
*
* @return com.yida.data.common.core.common.ResultBean<java.lang.String>
* @author ZYJ
* @date 2023/4/3 13:26
*/
@GetMapping("/in/consume/updateRefundStatus")
ResultBean<String> updateRefundStatus();
}
@@ -0,0 +1,53 @@
package com.yida.data.device.vo.consume;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* 消费机列表返回接口
*
* @author ZYJ
* @date 2023-03-15 10:02:27
*/
@Data
@ApiModel("设备信息")
public class ConsumeDeviceVO implements Serializable {
private static final long serialVersionUID = 1192859620255962398L;
private Long id;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createDate;
@ApiModelProperty("设备名称")
private String name;
@ApiModelProperty("设备编号")
private String sn;
@ApiModelProperty("设备mac地址")
private String macAddress;
@ApiModelProperty("设备厂商")
private String deviceType;
@ApiModelProperty("ip")
private String ip;
@ApiModelProperty("学校id")
private Long schoolId;
@ApiModelProperty("学校名称")
private String schoolName;
@ApiModelProperty("设备在线状态,0-在线,1-未在线")
private Integer state;
}
@@ -0,0 +1,74 @@
package com.yida.data.device.vo.consume;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yida.data.common.core.entity.consume.EduConsumeOrderStudent;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 消费订单后台列表返回类
*
* @author ZYJ
* @date 2023/4/14
*/
@Data
@ApiModel(value = "ConsumeOrderPageVO", description = "消费订单后台列表返回类")
public class ConsumeOrderPageVO implements Serializable {
private static final long serialVersionUID = -4944464049391972122L;
@ApiModelProperty(value = "订单id")
private Long orderId;
@ApiModelProperty(value = "部门id")
private Long deptId;
@ApiModelProperty(value = "部门名称")
private String deptName;
@ApiModelProperty(value = "订单状态:0:待付款 1:付款中 2:交易完成(正常支付成功) 3:待退款 4:交易关闭(a:超时未支付,b:退款成功")
private String orderStatus;
@ApiModelProperty(value = "支付状态:0:未支付(默认) 1:已支付 2:已退款 3:已取消")
private String payStatus;
@ApiModelProperty(value = "订单总金额")
private BigDecimal totalMoney;
@ApiModelProperty(value = "实际支付金额")
private BigDecimal practicalMoney;
@ApiModelProperty(value = "支付人手机号(家长手机)")
private String phone;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty("创建时间")
private Date createDate;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty("支付时间")
private Date payDate;
@ApiModelProperty("订单编号")
private String orderCode;
@ApiModelProperty("交易流水号")
private String transactionNumber;
@ApiModelProperty(value = "支付方式:1:微信,2:支付宝,3:银联,4:收钱吧")
private String payWay;
@ApiModelProperty(value = "是否退款:0:否(默认) 1:是")
private String isRefund;
@ApiModelProperty("订单学生信息")
private EduConsumeOrderStudent student;
}
@@ -0,0 +1,44 @@
package com.yida.data.device.vo.consume;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* 学生消费订单缓存类
*
* @author ZYJ
* @date 2023/3/22
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "ConsumeOrderStudentCacheVO", description = "学生消费订单缓存类")
public class ConsumeOrderStudentCacheVO implements Serializable {
private static final long serialVersionUID = 8649760066609681494L;
@ApiModelProperty("学生id")
private Long studentId;
@ApiModelProperty("学生姓名")
private String studentName;
@ApiModelProperty("下单家长id")
private Long parentId;
@ApiModelProperty("家长类型")
private String parentType;
@ApiModelProperty("家长手机号码")
private String mobile;
@ApiModelProperty("订单号")
private String orderNo;
}
@@ -0,0 +1,77 @@
package com.yida.data.device.vo.consume;
import com.yida.data.common.core.enums.PayWay;
import com.yida.data.common.core.enums.UnionPayTypeEnum;
import com.yida.data.common.core.enums.WxPayTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* 生成消费订单返回信息
*
* @author ZYJ
* @date 2023/3/22
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "ConsumePayInfoVO", description = "生成消费订单返回信息")
public class ConsumePayInfoVO implements Serializable {
private static final long serialVersionUID = 6829651635967940690L;
@ApiModelProperty("错误状态码. 仅在接口异常时返回")
private Integer errorCode;
@ApiModelProperty("错误信息. 仅在接口异常时返回")
private String errorMessage;
@ApiModelProperty("订单号")
private String orderCode;
@ApiModelProperty("微信时间戳")
private String wxTimestamp;
@ApiModelProperty("微信随机字符串")
private String wxNonceStr;
@ApiModelProperty("微信商户号")
private String wxAppId;
@ApiModelProperty("微信package")
private String wxPackage;
@ApiModelProperty("微信签名后串")
private String wxSign;
@ApiModelProperty("是否需要跳转支付")
private Boolean needToPay;
/**
* 支付方式
* {@link PayWay}
*/
@ApiModelProperty("支付方式")
private String payWay;
/**
* 支付类型
* 银联云闪付: {@link UnionPayTypeEnum}
* 微信类型: {@link WxPayTypeEnum}
*/
@ApiModelProperty("具体支付子类型")
private Integer payType;
@ApiModelProperty("支付域名")
private String payDomain;
@ApiModelProperty("支付地址")
private String payUrl;
}
@@ -0,0 +1,48 @@
package com.yida.data.device.vo.consume;
import lombok.Data;
import java.io.Serializable;
/**
* 消费订单退款数据
*
* @author ZYJ
* @date 2023/4/3
*/
@Data
public class ConsumeRefundOrderVO implements Serializable {
private static final long serialVersionUID = -6557981285672617008L;
/**
* 订单id
*/
private Long orderId;
/**
* 订单号
*/
private String orderCode;
/**
* 退款id
*/
private Long refundId;
/**
* 退款号
*/
private String refundCode;
/**
* 订单支付方式
* 支付方式:1:微信,2:支付宝,3:银联,4:收钱吧
*/
private String payWay;
/**
* 学校部门id
*/
private Long deptId;
}
@@ -0,0 +1,52 @@
package com.yida.data.device.vo.consume;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 学生消费机会员返回类
*
* @author ZYJ
* @date 2023/3/16
*/
@Data
@ApiModel(value = "ConsumeVipVO", description = "学生消费机会员返回类")
public class ConsumeVipVO implements Serializable {
private static final long serialVersionUID = 6368984207326579608L;
@ApiModelProperty("true代表是会员, false代表非会员")
private Boolean vipFlag;
@ApiModelProperty("有效期开始时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime startTime;
@ApiModelProperty("有效期结束时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime endTime;
@ApiModelProperty("余额")
private BigDecimal balance;
@ApiModelProperty("卡片状态(1:正常卡 2:挂失卡)")
private Integer cardStatus;
@ApiModelProperty("卡号")
private String stuCardNum;
@ApiModelProperty("支付方式")
private String payWay;
@ApiModelProperty("支付类型")
private String payType;
}
@@ -0,0 +1,67 @@
package com.yida.data.device.vo.consume;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 消费订单列表返回类(充值记录)
*
* @author ZYJ
* @date 2023/3/24
*/
@Data
@ApiModel(value = "H5ConsumeOrderPageVO", description = "消费订单列表返回类(充值记录)")
public class H5ConsumeOrderPageVO implements Serializable {
private static final long serialVersionUID = -8643407654576586273L;
@ApiModelProperty(value = "订单id")
private Long orderId;
@ApiModelProperty(value = "部门id")
private Long deptId;
@ApiModelProperty(value = "部门名称")
private String deptName;
@ApiModelProperty(value = "订单状态:0:待付款 1:付款中 2:交易完成(正常支付成功) 3:待退款 4:交易关闭(a:超时未支付,b:退款成功")
private String orderStatus;
@ApiModelProperty(value = "支付状态:0:未支付(默认) 1:已支付 2:已退款 3:已取消")
private String payStatus;
@ApiModelProperty(value = "订单总金额")
private BigDecimal totalMoney;
@ApiModelProperty(value = "实际支付金额")
private BigDecimal practicalMoney;
@ApiModelProperty("学生名称")
private String studentName;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty("创建时间")
private Date createDate;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty("支付时间")
private Date payDate;
@ApiModelProperty("订单编号")
private String orderCode;
@ApiModelProperty("交易流水号")
private String transactionNumber;
@ApiModelProperty(value = "支付方式:1:微信,2:支付宝,3:银联,4:收钱吧")
private String payWay;
}
@@ -0,0 +1,85 @@
package com.yida.data.device.vo.consume;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 学生消费记录列表返回类
*
* @author ZYJ
* @date 2023/3/24
*/
@Data
@ApiModel(value = "H5ConsumeRecordPageVO", description = "学生消费记录列表返回类")
public class H5ConsumeRecordPageVO implements Serializable {
private static final long serialVersionUID = -5754645385438209457L;
@ApiModelProperty(value = "主键")
private Long id;
@ApiModelProperty(value = "创建时间(下单时间)")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createDate;
@ApiModelProperty(value = "订单号")
private Long orderNo;
@ApiModelProperty(value = "消费机设备编号")
private String deviceNo;
@ApiModelProperty(value = "学生主键ID")
private Long studentId;
@ApiModelProperty(value = "学生姓名")
private String studentName;
@ApiModelProperty(value = "校园卡号")
private String stuCardNumber;
@ApiModelProperty(value = "消费金额. 单位: 元")
private BigDecimal transactionAmount;
@ApiModelProperty(value = "消费时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime transactionTime;
@ApiModelProperty(value = "学校主键ID")
private Long schoolId;
@ApiModelProperty(value = "学校名称")
private String schoolName;
@ApiModelProperty(value = "学区主键ID")
private Long campusId;
@ApiModelProperty(value = "学区名称")
private String campusName;
@ApiModelProperty(value = "学段主键ID")
private Long sectionId;
@ApiModelProperty(value = "学段名称")
private String sectionName;
@ApiModelProperty(value = "年级主键ID")
private Long gradeId;
@ApiModelProperty(value = "年级名称")
private String gradeName;
@ApiModelProperty(value = "班级主键ID")
private Long classId;
@ApiModelProperty(value = "班级名称")
private String className;
}
@@ -1,4 +1,5 @@
# Auto Configure
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.yida.data.device.fallback.RemoteStudentCardServiceFallback,\
com.yida.data.device.fallback.RemoteTelephoneServiceFallback
com.yida.data.device.fallback.RemoteTelephoneServiceFallback,\
com.yida.data.device.fallback.RemoteConsumeCardServiceFallback