From a394f7f2683a95059e7be2216f3777f13220cb8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9B=B7=E6=AC=A7=EF=BC=88=E6=9E=97=E5=B9=B3=E5=87=A1?= =?UTF-8?q?=EF=BC=89?= Date: Sat, 1 Mar 2025 19:11:00 +0800 Subject: [PATCH] 1 --- .../van/business/model/jd/ProductOrder.java | 259 ++++++++++++++++++ .../cn/van/business/model/jd/SkuInfo.java | 32 +++ .../cn/van/business/model/jd/SkuType.java | 34 +++ .../java/cn/van/business/util/JDUtil.java | 19 +- 4 files changed, 339 insertions(+), 5 deletions(-) create mode 100644 src/main/java/cn/van/business/model/jd/ProductOrder.java create mode 100644 src/main/java/cn/van/business/model/jd/SkuInfo.java create mode 100644 src/main/java/cn/van/business/model/jd/SkuType.java diff --git a/src/main/java/cn/van/business/model/jd/ProductOrder.java b/src/main/java/cn/van/business/model/jd/ProductOrder.java new file mode 100644 index 0000000..d42027d --- /dev/null +++ b/src/main/java/cn/van/business/model/jd/ProductOrder.java @@ -0,0 +1,259 @@ +package cn.van.business.model.jd; + +import jakarta.persistence.*; +import java.util.Date; + +/** + * 实体类,用于存储商品订单信息。 + */ +@Entity +@Table(name = "product_order") +public class ProductOrder { + + /** + * 主键,自增ID。 + */ + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id") + private Long id; + + /** + * 商品名称。 + */ + @Column(name = "sku_name") + private String skuName; + + /** + * 商品类型。 + */ + @Column(name = "sku_type") + private String skuType; + + /** + * 订单号。 + */ + @Column(name = "order_id") + private String orderId; + + /** + * 下单时间。 + */ + @Temporal(TemporalType.TIMESTAMP) + @Column(name = "order_time") + private Date orderTime; + + /** + * 下单账号。 + */ + @Column(name = "order_account") + private String orderAccount; + + /** + * 是否晒图登记。 + */ + @Column(name = "is_reviewed") + private Boolean isReviewed; + + /** + * 晒图时间。 + */ + @Temporal(TemporalType.TIMESTAMP) + @Column(name = "review_time") + private Date reviewTime; + + /** + * 是否返现到账。 + */ + @Column(name = "is_cashback_received") + private Boolean isCashbackReceived; + + /** + * 到账时间。 + */ + @Temporal(TemporalType.TIMESTAMP) + @Column(name = "cashback_time") + private Date cashbackTime; + + // Getters and Setters + + /** + * 获取主键ID。 + * + * @return 主键ID + */ + public Long getId() { + return id; + } + + /** + * 设置主键ID。 + * + * @param id 主键ID + */ + public void setId(Long id) { + this.id = id; + } + + /** + * 获取商品名称。 + * + * @return 商品名称 + */ + public String getSkuName() { + return skuName; + } + + /** + * 设置商品名称。 + * + * @param skuName 商品名称 + */ + public void setSkuName(String skuName) { + this.skuName = skuName; + } + + /** + * 获取商品类型。 + * + * @return 商品类型 + */ + public String getSkuType() { + return skuType; + } + + /** + * 设置商品类型。 + * + * @param skuType 商品类型 + */ + public void setSkuType(String skuType) { + this.skuType = skuType; + } + + /** + * 获取订单号。 + * + * @return 订单号 + */ + public String getOrderId() { + return orderId; + } + + /** + * 设置订单号。 + * + * @param orderId 订单号 + */ + public void setOrderId(String orderId) { + this.orderId = orderId; + } + + /** + * 获取下单时间。 + * + * @return 下单时间 + */ + public Date getOrderTime() { + return orderTime; + } + + /** + * 设置下单时间。 + * + * @param orderTime 下单时间 + */ + public void setOrderTime(Date orderTime) { + this.orderTime = orderTime; + } + + /** + * 获取下单账号。 + * + * @return 下单账号 + */ + public String getOrderAccount() { + return orderAccount; + } + + /** + * 设置下单账号。 + * + * @param orderAccount 下单账号 + */ + public void setOrderAccount(String orderAccount) { + this.orderAccount = orderAccount; + } + + /** + * 获取是否晒图登记。 + * + * @return 是否晒图登记 + */ + public Boolean getIsReviewed() { + return isReviewed; + } + + /** + * 设置是否晒图登记。 + * + * @param isReviewed 是否晒图登记 + */ + public void setIsReviewed(Boolean isReviewed) { + this.isReviewed = isReviewed; + } + + /** + * 获取晒图时间。 + * + * @return 晒图时间 + */ + public Date getReviewTime() { + return reviewTime; + } + + /** + * 设置晒图时间。 + * + * @param reviewTime 晒图时间 + */ + public void setReviewTime(Date reviewTime) { + this.reviewTime = reviewTime; + } + + /** + * 获取是否返现到账。 + * + * @return 是否返现到账 + */ + public Boolean getIsCashbackReceived() { + return isCashbackReceived; + } + + /** + * 设置是否返现到账。 + * + * @param isCashbackReceived 是否返现到账 + */ + public void setIsCashbackReceived(Boolean isCashbackReceived) { + this.isCashbackReceived = isCashbackReceived; + } + + /** + * 获取到账时间。 + * + * @return 到账时间 + */ + public Date getCashbackTime() { + return cashbackTime; + } + + /** + * 设置到账时间。 + * + * @param cashbackTime 到账时间 + */ + public void setCashbackTime(Date cashbackTime) { + this.cashbackTime = cashbackTime; + } +} diff --git a/src/main/java/cn/van/business/model/jd/SkuInfo.java b/src/main/java/cn/van/business/model/jd/SkuInfo.java new file mode 100644 index 0000000..cbd4070 --- /dev/null +++ b/src/main/java/cn/van/business/model/jd/SkuInfo.java @@ -0,0 +1,32 @@ +package cn.van.business.model.jd; + +import jakarta.persistence.*; + +import java.util.Set; + +/** + * sku对应的商品信息 + */ +@Entity +@Table(name = "sku_Info") +public class SkuInfo { + + /** + * 主键,自增ID。 + */ + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id") + private Long id; + + /** + * 商品类型名称。 + */ + @Column(name = "type_name", unique = true, nullable = false) + private String typeName; + + @Column(name = "sku", unique = true, nullable = false) + private String sku; + + +} diff --git a/src/main/java/cn/van/business/model/jd/SkuType.java b/src/main/java/cn/van/business/model/jd/SkuType.java new file mode 100644 index 0000000..545b787 --- /dev/null +++ b/src/main/java/cn/van/business/model/jd/SkuType.java @@ -0,0 +1,34 @@ +package cn.van.business.model.jd; + +import jakarta.persistence.*; +import java.util.Set; + +/** + * 实体类,用于存储商品类型信息。 + */ +@Entity +@Table(name = "sku_type") +public class SkuType { + + /** + * 主键,自增ID。 + */ + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id") + private Long id; + + /** + * 商品类型名称。 + */ + @Column(name = "type_name", unique = true, nullable = false) + private String typeName; + + /** + * 与该商品类型关联的商品ID集合。 + */ + @OneToMany(mappedBy = "sku_id", cascade = CascadeType.ALL, orphanRemoval = true) + private Set productOrders; + + +} diff --git a/src/main/java/cn/van/business/util/JDUtil.java b/src/main/java/cn/van/business/util/JDUtil.java index 35e6da4..2bea06c 100644 --- a/src/main/java/cn/van/business/util/JDUtil.java +++ b/src/main/java/cn/van/business/util/JDUtil.java @@ -1165,7 +1165,7 @@ public void sendOrderToWxByOrderDefault(String order, String fromWxid) { logger.debug("Deleted timeout state for key: {}", key); } } catch (Exception e) { - logger.error("Error parsing interaction state: " + e.getMessage()); + logger.error("Error parsing interaction state: {}", e.getMessage()); } }); } @@ -1189,7 +1189,7 @@ public void sendOrderToWxByOrderDefault(String order, String fromWxid) { state = new UserInteractionState(); } } catch (Exception e) { - logger.error("Error parsing interaction state: " + e.getMessage()); + logger.error("Error parsing interaction state: {}", e.getMessage()); state = new UserInteractionState(); } } @@ -1198,7 +1198,13 @@ public void sendOrderToWxByOrderDefault(String order, String fromWxid) { switch (state.getCurrentState()) { case "INIT": if ("消毒柜".equals(message)) { - wxUtil.sendTextMessage(fromWxid, "1,查询消毒柜订单;2,输入新的订单;3,修改订单", 1, fromWxid); + //1,查询消毒柜订单;2,输入新的订单;3,修改订单 + String sb = """ + 请选择您要执行的操作: + 1,查询消毒柜订单 + 2,输入新的订单 + 3,修改订单"""; + wxUtil.sendTextMessage(fromWxid, sb, 1, fromWxid); state.setCurrentState("DISINFECTANT_CABINET"); logger.debug("User {} entered DISINFECTANT_CABINET state", fromWxid); } @@ -1207,7 +1213,10 @@ public void sendOrderToWxByOrderDefault(String order, String fromWxid) { switch (message) { case "1": // 查询消毒柜订单的逻辑 - wxUtil.sendTextMessage(fromWxid, "查询消毒柜订单的逻辑", 1, fromWxid); + String sb = ""; + + + wxUtil.sendTextMessage(fromWxid, sb, 1, fromWxid); state.setCurrentState("INIT"); logger.debug("User {} queried disinfectant cabinet orders", fromWxid); break; @@ -1240,7 +1249,7 @@ public void sendOrderToWxByOrderDefault(String order, String fromWxid) { redisTemplate.opsForValue().set(key, objectMapper.writeValueAsString(state), TIMEOUT_MINUTES, TimeUnit.MINUTES); logger.debug("Saved interaction state for user {}: {}", fromWxid, state); } catch (Exception e) { - logger.error("Error saving interaction state: " + e.getMessage()); + logger.error("Error saving interaction state: {}", e.getMessage()); } }