523096025 hace 1 año
commit
57a0240313
Se han modificado 92 ficheros con 2481 adiciones y 0 borrados
  1. 31 0
      src/main/java/com/huimv/wine/config/WebSocketAPI.java
  2. 24 0
      src/main/java/com/huimv/wine/config/WebSocketConfig.java
  3. 22 0
      src/main/java/com/huimv/wine/controller/AdvertiseController.java
  4. 20 0
      src/main/java/com/huimv/wine/controller/ChangeController.java
  5. 20 0
      src/main/java/com/huimv/wine/controller/DeviceController.java
  6. 20 0
      src/main/java/com/huimv/wine/controller/ManagerController.java
  7. 21 0
      src/main/java/com/huimv/wine/controller/OperationController.java
  8. 20 0
      src/main/java/com/huimv/wine/controller/ParamsController.java
  9. 20 0
      src/main/java/com/huimv/wine/controller/RefundController.java
  10. 20 0
      src/main/java/com/huimv/wine/controller/TradeController.java
  11. 20 0
      src/main/java/com/huimv/wine/controller/UserController.java
  12. 20 0
      src/main/java/com/huimv/wine/controller/VersionController.java
  13. 20 0
      src/main/java/com/huimv/wine/controller/WarnController.java
  14. 20 0
      src/main/java/com/huimv/wine/controller/WineController.java
  15. 20 0
      src/main/java/com/huimv/wine/controller/WorkerController.java
  16. 59 0
      src/main/java/com/huimv/wine/entity/Advertise.java
  17. 116 0
      src/main/java/com/huimv/wine/entity/Change.java
  18. 102 0
      src/main/java/com/huimv/wine/entity/Device.java
  19. 63 0
      src/main/java/com/huimv/wine/entity/Manager.java
  20. 63 0
      src/main/java/com/huimv/wine/entity/Operation.java
  21. 40 0
      src/main/java/com/huimv/wine/entity/Params.java
  22. 55 0
      src/main/java/com/huimv/wine/entity/Refund.java
  23. 80 0
      src/main/java/com/huimv/wine/entity/Trade.java
  24. 80 0
      src/main/java/com/huimv/wine/entity/User.java
  25. 44 0
      src/main/java/com/huimv/wine/entity/Version.java
  26. 52 0
      src/main/java/com/huimv/wine/entity/Warn.java
  27. 82 0
      src/main/java/com/huimv/wine/entity/Wine.java
  28. 73 0
      src/main/java/com/huimv/wine/entity/Worker.java
  29. 16 0
      src/main/java/com/huimv/wine/mapper/AdvertiseMapper.java
  30. 16 0
      src/main/java/com/huimv/wine/mapper/ChangeMapper.java
  31. 16 0
      src/main/java/com/huimv/wine/mapper/DeviceMapper.java
  32. 16 0
      src/main/java/com/huimv/wine/mapper/ManagerMapper.java
  33. 17 0
      src/main/java/com/huimv/wine/mapper/OperationMapper.java
  34. 16 0
      src/main/java/com/huimv/wine/mapper/ParamsMapper.java
  35. 16 0
      src/main/java/com/huimv/wine/mapper/RefundMapper.java
  36. 16 0
      src/main/java/com/huimv/wine/mapper/TradeMapper.java
  37. 16 0
      src/main/java/com/huimv/wine/mapper/UserMapper.java
  38. 16 0
      src/main/java/com/huimv/wine/mapper/VersionMapper.java
  39. 16 0
      src/main/java/com/huimv/wine/mapper/WarnMapper.java
  40. 16 0
      src/main/java/com/huimv/wine/mapper/WineMapper.java
  41. 16 0
      src/main/java/com/huimv/wine/mapper/WorkerMapper.java
  42. 16 0
      src/main/java/com/huimv/wine/service/IAdvertiseService.java
  43. 16 0
      src/main/java/com/huimv/wine/service/IChangeService.java
  44. 17 0
      src/main/java/com/huimv/wine/service/IDeviceService.java
  45. 16 0
      src/main/java/com/huimv/wine/service/IManagerService.java
  46. 17 0
      src/main/java/com/huimv/wine/service/IOperationService.java
  47. 16 0
      src/main/java/com/huimv/wine/service/IParamsService.java
  48. 16 0
      src/main/java/com/huimv/wine/service/IRefundService.java
  49. 16 0
      src/main/java/com/huimv/wine/service/ITradeService.java
  50. 16 0
      src/main/java/com/huimv/wine/service/IUserService.java
  51. 16 0
      src/main/java/com/huimv/wine/service/IVersionService.java
  52. 16 0
      src/main/java/com/huimv/wine/service/IWarnService.java
  53. 16 0
      src/main/java/com/huimv/wine/service/IWineService.java
  54. 16 0
      src/main/java/com/huimv/wine/service/IWorkerService.java
  55. 20 0
      src/main/java/com/huimv/wine/service/impl/AdvertiseServiceImpl.java
  56. 20 0
      src/main/java/com/huimv/wine/service/impl/ChangeServiceImpl.java
  57. 24 0
      src/main/java/com/huimv/wine/service/impl/DeviceServiceImpl.java
  58. 20 0
      src/main/java/com/huimv/wine/service/impl/ManagerServiceImpl.java
  59. 21 0
      src/main/java/com/huimv/wine/service/impl/OperationServiceImpl.java
  60. 20 0
      src/main/java/com/huimv/wine/service/impl/ParamsServiceImpl.java
  61. 20 0
      src/main/java/com/huimv/wine/service/impl/RefundServiceImpl.java
  62. 20 0
      src/main/java/com/huimv/wine/service/impl/TradeServiceImpl.java
  63. 20 0
      src/main/java/com/huimv/wine/service/impl/UserServiceImpl.java
  64. 20 0
      src/main/java/com/huimv/wine/service/impl/VersionServiceImpl.java
  65. 20 0
      src/main/java/com/huimv/wine/service/impl/WarnServiceImpl.java
  66. 20 0
      src/main/java/com/huimv/wine/service/impl/WineServiceImpl.java
  67. 20 0
      src/main/java/com/huimv/wine/service/impl/WorkerServiceImpl.java
  68. 57 0
      src/main/java/com/huimv/wine/utils/WebsocketUtil.java
  69. 93 0
      src/main/java/com/huimv/wine/ws/SellerController.java
  70. 35 0
      src/main/resources/application-dev.yml
  71. 15 0
      src/main/resources/application-prod.yml
  72. 1 0
      src/main/resources/certs/APIV3.txt
  73. BIN
      src/main/resources/certs/apiclient_cert.p12
  74. 25 0
      src/main/resources/certs/apiclient_cert.pem
  75. 28 0
      src/main/resources/certs/apiclient_key.pem
  76. 27 0
      src/main/resources/certs/client-private.pem
  77. 9 0
      src/main/resources/certs/client-public.pem
  78. 27 0
      src/main/resources/certs/server-private.pem
  79. 9 0
      src/main/resources/certs/server-public.pem
  80. 16 0
      src/main/resources/mapper/AdvertiseMapper.xml
  81. 34 0
      src/main/resources/mapper/ChangeMapper.xml
  82. 29 0
      src/main/resources/mapper/DeviceMapper.xml
  83. 18 0
      src/main/resources/mapper/ManagerMapper.xml
  84. 16 0
      src/main/resources/mapper/OperationMapper.xml
  85. 13 0
      src/main/resources/mapper/ParamsMapper.xml
  86. 14 0
      src/main/resources/mapper/RefundMapper.xml
  87. 19 0
      src/main/resources/mapper/TradeMapper.xml
  88. 19 0
      src/main/resources/mapper/UserMapper.xml
  89. 12 0
      src/main/resources/mapper/VersionMapper.xml
  90. 14 0
      src/main/resources/mapper/WarnMapper.xml
  91. 20 0
      src/main/resources/mapper/WineMapper.xml
  92. 20 0
      src/main/resources/mapper/WorkerMapper.xml

+ 31 - 0
src/main/java/com/huimv/wine/config/WebSocketAPI.java

@@ -0,0 +1,31 @@
+/*
+package com.huimv.wine.config;
+
+import org.springframework.stereotype.Component;
+
+@Component
+public class WebSocketAPI extends TextWebSocketHandler {
+    @Override //该方法会在websocket连接成功后被调用
+    public void afterConnectionEstablished(WebSocketSession session) throws Exception {
+        //WebSocketSession是websocket连接对应的会话
+        System.out.println("建立连接了");
+    }
+    @Override //该方法是在websocket收到消息的时候自动调用
+    protected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception {
+        //message 为收到的消息
+        System.out.println("发送消息:"+message.toString());
+        //session是个会话,里面记录了通信双方,通过session对象调用send方法实现服务器推送消息
+        session.sendMessage(message);
+        message.getPayload(); //获取的message字符串
+    }
+    @Override //该方法是在websocket连接出现异常的时候自动调用的
+    public void handleTransportError(WebSocketSession session, Throwable exception) throws Exception {
+        //exception记录了异常信息
+        System.out.println("连接出现异常了");
+    }
+    @Override //该方法是在websocket连接关闭后自动调用的
+    public void afterConnectionClosed(WebSocketSession session, CloseStatus status) throws Exception {
+        //status 为关闭的状态
+        System.out.println("连接关闭了");
+    }
+}*/

+ 24 - 0
src/main/java/com/huimv/wine/config/WebSocketConfig.java

@@ -0,0 +1,24 @@
+/*
+package com.huimv.wine.config;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.messaging.simp.config.MessageBrokerRegistry;
+import org.springframework.web.socket.config.annotation.EnableWebSocketMessageBroker;
+import org.springframework.web.socket.config.annotation.StompEndpointRegistry;
+import org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurer;
+ 
+@Configuration
+@EnableWebSocketMessageBroker
+public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {
+    
+    @Override
+    public void registerStompEndpoints(StompEndpointRegistry registry) {
+        registry.addEndpoint("/ws").withSockJS();
+    }
+ 
+    @Override
+    public void configureMessageBroker(MessageBrokerRegistry registry) {
+        registry.enableSimpleBroker("/topic");
+        registry.setApplicationDestinationPrefixes("/app");
+    }
+}*/

+ 22 - 0
src/main/java/com/huimv/wine/controller/AdvertiseController.java

@@ -0,0 +1,22 @@
+package com.huimv.wine.controller;
+
+
+import com.huimv.wine.service.IAdvertiseService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * <p>
+ * 广告表 前端控制器
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+@RestController
+@RequestMapping("/advertise")
+public class AdvertiseController {
+
+}

+ 20 - 0
src/main/java/com/huimv/wine/controller/ChangeController.java

@@ -0,0 +1,20 @@
+package com.huimv.wine.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 换酒记录 前端控制器
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+@RestController
+@RequestMapping("/change")
+public class ChangeController {
+
+}

+ 20 - 0
src/main/java/com/huimv/wine/controller/DeviceController.java

@@ -0,0 +1,20 @@
+package com.huimv.wine.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 设备 前端控制器
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+@RestController
+@RequestMapping("/device")
+public class DeviceController {
+
+}

+ 20 - 0
src/main/java/com/huimv/wine/controller/ManagerController.java

@@ -0,0 +1,20 @@
+package com.huimv.wine.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 管理员 前端控制器
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+@RestController
+@RequestMapping("/manager")
+public class ManagerController {
+
+}

+ 21 - 0
src/main/java/com/huimv/wine/controller/OperationController.java

@@ -0,0 +1,21 @@
+package com.huimv.wine.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 操作记录表
+ 前端控制器
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+@RestController
+@RequestMapping("/operation")
+public class OperationController {
+
+}

+ 20 - 0
src/main/java/com/huimv/wine/controller/ParamsController.java

@@ -0,0 +1,20 @@
+package com.huimv.wine.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 系统参数 前端控制器
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+@RestController
+@RequestMapping("/params")
+public class ParamsController {
+
+}

+ 20 - 0
src/main/java/com/huimv/wine/controller/RefundController.java

@@ -0,0 +1,20 @@
+package com.huimv.wine.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 退款 前端控制器
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+@RestController
+@RequestMapping("/refund")
+public class RefundController {
+
+}

+ 20 - 0
src/main/java/com/huimv/wine/controller/TradeController.java

@@ -0,0 +1,20 @@
+package com.huimv.wine.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 交易表 前端控制器
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+@RestController
+@RequestMapping("/trade")
+public class TradeController {
+
+}

+ 20 - 0
src/main/java/com/huimv/wine/controller/UserController.java

@@ -0,0 +1,20 @@
+package com.huimv.wine.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 用户表 前端控制器
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+@RestController
+@RequestMapping("/user")
+public class UserController {
+
+}

+ 20 - 0
src/main/java/com/huimv/wine/controller/VersionController.java

@@ -0,0 +1,20 @@
+package com.huimv.wine.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 安卓版本号 前端控制器
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+@RestController
+@RequestMapping("/version")
+public class VersionController {
+
+}

+ 20 - 0
src/main/java/com/huimv/wine/controller/WarnController.java

@@ -0,0 +1,20 @@
+package com.huimv.wine.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 酒量不足警告表 前端控制器
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+@RestController
+@RequestMapping("/warn")
+public class WarnController {
+
+}

+ 20 - 0
src/main/java/com/huimv/wine/controller/WineController.java

@@ -0,0 +1,20 @@
+package com.huimv.wine.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 酒 前端控制器
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+@RestController
+@RequestMapping("/wine")
+public class WineController {
+
+}

+ 20 - 0
src/main/java/com/huimv/wine/controller/WorkerController.java

@@ -0,0 +1,20 @@
+package com.huimv.wine.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 上酒工 前端控制器
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+@RestController
+@RequestMapping("/worker")
+public class WorkerController {
+
+}

+ 59 - 0
src/main/java/com/huimv/wine/entity/Advertise.java

@@ -0,0 +1,59 @@
+package com.huimv.wine.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 广告表
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("advertise")
+public class Advertise implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 顺序
+     */
+    private Integer order;
+
+    /**
+     * 上线时间
+     */
+    private LocalDateTime time;
+
+    /**
+     * 1图片,0视频
+     */
+    private Boolean type;
+
+    /**
+     * 路径
+     */
+    private String src;
+
+    /**
+     * 持续时间 毫秒
+     */
+    private Integer duration;
+
+    private String describe;
+
+
+}

+ 116 - 0
src/main/java/com/huimv/wine/entity/Change.java

@@ -0,0 +1,116 @@
+package com.huimv.wine.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 换酒记录
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("change")
+public class Change implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 酒的id
+     */
+    private Integer wid;
+
+    /**
+     * 设备id
+     */
+    private String device;
+
+    /**
+     * 管理员id
+     */
+    private String manager;
+
+    /**
+     * 换酒工id
+     */
+    private String worker;
+
+    /**
+     * 开门授权码
+     */
+    private String code;
+
+    /**
+     * 状态
+     */
+    private Integer status;
+
+    /**
+     * 订单发布时间
+     */
+    private LocalDateTime publish;
+
+    /**
+     * 订单完成时间
+     */
+    private LocalDateTime finish;
+
+    /**
+     * 第一桶旧酒id
+     */
+    private Integer wine1o;
+
+    /**
+     * 第一桶旧酒余量
+     */
+    private Integer remain1o;
+
+    private Integer wine2o;
+
+    private Integer remain2o;
+
+    private Integer wine3o;
+
+    private Integer remain3o;
+
+    private Integer wine4o;
+
+    private Integer remain4o;
+
+    /**
+     * 第一桶新酒id
+     */
+    private Integer wine1n;
+
+    /**
+     * 第一桶新酒余量
+     */
+    private Integer remain1n;
+
+    private Integer wine2n;
+
+    private Integer remain2n;
+
+    private Integer wine3n;
+
+    private Integer remain3n;
+
+    private Integer wine4n;
+
+    private Integer remain4n;
+
+
+}

+ 102 - 0
src/main/java/com/huimv/wine/entity/Device.java

@@ -0,0 +1,102 @@
+package com.huimv.wine.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import java.util.Date;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 设备
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("device")
+public class Device implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private String id;
+
+    /**
+     * 地址
+     */
+    private String addr;
+
+    /**
+     * 上线时间
+     */
+    private Date first;
+
+    /**
+     * 上次活跃
+     */
+    private Date last;
+
+    /**
+     * 第一桶酒id
+     */
+    private Integer wine1;
+
+    /**
+     * 第一桶酒余量
+     */
+    private Integer remain1;
+
+    /**
+     * 每一个脉冲对应多少酒
+     */
+    private Integer vpp1;
+
+    private Integer wine2;
+
+    private Integer remain2;
+
+    private Integer vpp2;
+
+    private Integer wine3;
+
+    private Integer remain3;
+
+    private Integer vpp3;
+
+    private Integer wine4;
+
+    private Integer remain4;
+
+    private Integer vpp4;
+
+    /**
+     * 管理员id
+     */
+    private String manager;
+
+    /**
+     * 备注
+     */
+    private String mark;
+
+    /**
+     * 订单量
+     */
+    private Integer order;
+
+    /**
+     * 收入量
+     */
+    private Long income;
+
+
+}

+ 63 - 0
src/main/java/com/huimv/wine/entity/Manager.java

@@ -0,0 +1,63 @@
+package com.huimv.wine.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 管理员
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("manager")
+public class Manager implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private String id;
+
+    /**
+     * 超级管理员 0
+     */
+    private Boolean super;
+
+    /**
+     * 注册时间
+     */
+    private LocalDateTime first;
+
+    /**
+     * 最近活跃
+     */
+    private LocalDateTime last;
+
+    private String name;
+
+    private String account;
+
+    private String password;
+
+    /**
+     * 订单量
+     */
+    private Integer order;
+
+    /**
+     * 收入
+     */
+    private Long income;
+
+
+}

+ 63 - 0
src/main/java/com/huimv/wine/entity/Operation.java

@@ -0,0 +1,63 @@
+package com.huimv.wine.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 操作记录表
+
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("operation")
+public class Operation implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 0管理员 1上酒工
+     */
+    private Integer userType;
+
+    /**
+     * 用户id
+     */
+    private String userId;
+
+    /**
+     * 1修改
+     */
+    private Integer opType;
+
+    /**
+     * 危险等级
+     */
+    private Integer level;
+
+    /**
+     * 时间
+     */
+    private LocalDateTime time;
+
+    /**
+     * 描述
+     */
+    private String describe;
+
+
+}

+ 40 - 0
src/main/java/com/huimv/wine/entity/Params.java

@@ -0,0 +1,40 @@
+package com.huimv.wine.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 系统参数
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("params")
+public class Params implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 描述
+     */
+    private String describe;
+
+    private String key;
+
+    private Integer value;
+
+
+}

+ 55 - 0
src/main/java/com/huimv/wine/entity/Refund.java

@@ -0,0 +1,55 @@
+package com.huimv.wine.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 退款
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("refund")
+public class Refund implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 订单id
+     */
+    @TableId(value = "tid", type = IdType.AUTO)
+    private String tid;
+
+    /**
+     * 操作人
+     */
+    private String manager;
+
+    /**
+     * 时间
+     */
+    private LocalDateTime time;
+
+    /**
+     * 金额
+     */
+    private Integer cash;
+
+    /**
+     * 原因
+     */
+    private String reason;
+
+
+}

+ 80 - 0
src/main/java/com/huimv/wine/entity/Trade.java

@@ -0,0 +1,80 @@
+package com.huimv.wine.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 交易表
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("trade")
+public class Trade implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 订单id
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private String id;
+
+    /**
+     * 自生成的订单id
+     */
+    private String trade;
+
+    /**
+     * 设备
+     */
+    private String device;
+
+    /**
+     * 时间
+     */
+    private LocalDateTime time;
+
+    /**
+     * 购买人
+     */
+    private String payer;
+
+    /**
+     * 酒id
+     */
+    private Integer wine;
+
+    /**
+     * 单价
+     */
+    private Integer price;
+
+    /**
+     * 重量
+     */
+    private Integer weight;
+
+    /**
+     * 金额
+     */
+    private Integer cash;
+
+    /**
+     * 所属管理
+     */
+    private String manager;
+
+
+}

+ 80 - 0
src/main/java/com/huimv/wine/entity/User.java

@@ -0,0 +1,80 @@
+package com.huimv.wine.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 用户表
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("user")
+public class User implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 微信用户id
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private String id;
+
+    /**
+     * 第一付款时间
+     */
+    private LocalDateTime first;
+
+    /**
+     * 最近付款时间
+     */
+    private LocalDateTime last;
+
+    /**
+     * 是否vip 1是
+     */
+    private Boolean vip;
+
+    /**
+     * 余额
+     */
+    private Long cash;
+
+    /**
+     * 单次最大消费
+     */
+    private Integer maxCost;
+
+    /**
+     * 消费次数
+     */
+    private Integer buyCount;
+
+    /**
+     * 消费总额
+     */
+    private Long buyCost;
+
+    /**
+     * 退款次数
+     */
+    private Integer refundCount;
+
+    /**
+     * 退款总额
+     */
+    private Long refundCost;
+
+
+}

+ 44 - 0
src/main/java/com/huimv/wine/entity/Version.java

@@ -0,0 +1,44 @@
+package com.huimv.wine.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 安卓版本号
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("version")
+public class Version implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 整数版本号
+     */
+    @TableId(value = "ver", type = IdType.AUTO)
+    private Integer ver;
+
+    /**
+     * 名称
+     */
+    private String name;
+
+    /**
+     * 下载地址
+     */
+    private String url;
+
+
+}

+ 52 - 0
src/main/java/com/huimv/wine/entity/Warn.java

@@ -0,0 +1,52 @@
+package com.huimv.wine.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 酒量不足警告表
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("warn")
+public class Warn implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 设备id
+     */
+    private String device;
+
+    /**
+     * 管理员id
+     */
+    private String manager;
+
+    /**
+     * 时间
+     */
+    private LocalDateTime time;
+
+    /**
+     * 是否处理
+     */
+    private Boolean deal;
+
+
+}

+ 82 - 0
src/main/java/com/huimv/wine/entity/Wine.java

@@ -0,0 +1,82 @@
+package com.huimv.wine.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 酒
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("wine")
+public class Wine implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 名字
+     */
+    private String name;
+
+    /**
+     * 单价
+     */
+    private Integer price;
+
+    /**
+     * 浓度
+     */
+    private Integer degree;
+
+    /**
+     * 密度
+     */
+    private Integer density;
+
+    /**
+     * 图片路径
+     */
+    private String picture;
+
+    /**
+     * 时间
+     */
+    private LocalDateTime time;
+
+    /**
+     * 简介
+     */
+    private String describe;
+
+    /**
+     * 订单量
+     */
+    private Integer order;
+
+    /**
+     * 收入
+     */
+    private Long income;
+
+    /**
+     * 是否删除  1删除  0未删
+     */
+    private Boolean deleted;
+
+
+}

+ 73 - 0
src/main/java/com/huimv/wine/entity/Worker.java

@@ -0,0 +1,73 @@
+package com.huimv.wine.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 上酒工
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("worker")
+public class Worker implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private String id;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime first;
+
+    /**
+     * 最近活跃
+     */
+    private LocalDateTime last;
+
+    private String name;
+
+    private String phone;
+
+    private String password;
+
+    /**
+     * 所属管理员
+     */
+    private String manager;
+
+    /**
+     * 完成换酒次数
+     */
+    private Integer count;
+
+    /**
+     * 待完成次数
+     */
+    private Integer todo;
+
+    /**
+     * 平均换酒时间
+     */
+    private Integer avgCost;
+
+    /**
+     * 最长换酒时间
+     */
+    private Integer maxCost;
+
+
+}

+ 16 - 0
src/main/java/com/huimv/wine/mapper/AdvertiseMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.wine.mapper;
+
+import com.huimv.wine.entity.Advertise;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 广告表 Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+public interface AdvertiseMapper extends BaseMapper<Advertise> {
+
+}

+ 16 - 0
src/main/java/com/huimv/wine/mapper/ChangeMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.wine.mapper;
+
+import com.huimv.wine.entity.Change;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 换酒记录 Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+public interface ChangeMapper extends BaseMapper<Change> {
+
+}

+ 16 - 0
src/main/java/com/huimv/wine/mapper/DeviceMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.wine.mapper;
+
+import com.huimv.wine.entity.Device;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 设备 Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+public interface DeviceMapper extends BaseMapper<Device> {
+
+}

+ 16 - 0
src/main/java/com/huimv/wine/mapper/ManagerMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.wine.mapper;
+
+import com.huimv.wine.entity.Manager;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 管理员 Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+public interface ManagerMapper extends BaseMapper<Manager> {
+
+}

+ 17 - 0
src/main/java/com/huimv/wine/mapper/OperationMapper.java

@@ -0,0 +1,17 @@
+package com.huimv.wine.mapper;
+
+import com.huimv.wine.entity.Operation;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 操作记录表
+ Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+public interface OperationMapper extends BaseMapper<Operation> {
+
+}

+ 16 - 0
src/main/java/com/huimv/wine/mapper/ParamsMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.wine.mapper;
+
+import com.huimv.wine.entity.Params;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 系统参数 Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+public interface ParamsMapper extends BaseMapper<Params> {
+
+}

+ 16 - 0
src/main/java/com/huimv/wine/mapper/RefundMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.wine.mapper;
+
+import com.huimv.wine.entity.Refund;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 退款 Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+public interface RefundMapper extends BaseMapper<Refund> {
+
+}

+ 16 - 0
src/main/java/com/huimv/wine/mapper/TradeMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.wine.mapper;
+
+import com.huimv.wine.entity.Trade;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 交易表 Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+public interface TradeMapper extends BaseMapper<Trade> {
+
+}

+ 16 - 0
src/main/java/com/huimv/wine/mapper/UserMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.wine.mapper;
+
+import com.huimv.wine.entity.User;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 用户表 Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+public interface UserMapper extends BaseMapper<User> {
+
+}

+ 16 - 0
src/main/java/com/huimv/wine/mapper/VersionMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.wine.mapper;
+
+import com.huimv.wine.entity.Version;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 安卓版本号 Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+public interface VersionMapper extends BaseMapper<Version> {
+
+}

+ 16 - 0
src/main/java/com/huimv/wine/mapper/WarnMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.wine.mapper;
+
+import com.huimv.wine.entity.Warn;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 酒量不足警告表 Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+public interface WarnMapper extends BaseMapper<Warn> {
+
+}

+ 16 - 0
src/main/java/com/huimv/wine/mapper/WineMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.wine.mapper;
+
+import com.huimv.wine.entity.Wine;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 酒 Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+public interface WineMapper extends BaseMapper<Wine> {
+
+}

+ 16 - 0
src/main/java/com/huimv/wine/mapper/WorkerMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.wine.mapper;
+
+import com.huimv.wine.entity.Worker;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 上酒工 Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+public interface WorkerMapper extends BaseMapper<Worker> {
+
+}

+ 16 - 0
src/main/java/com/huimv/wine/service/IAdvertiseService.java

@@ -0,0 +1,16 @@
+package com.huimv.wine.service;
+
+import com.huimv.wine.entity.Advertise;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 广告表 服务类
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+public interface IAdvertiseService extends IService<Advertise> {
+
+}

+ 16 - 0
src/main/java/com/huimv/wine/service/IChangeService.java

@@ -0,0 +1,16 @@
+package com.huimv.wine.service;
+
+import com.huimv.wine.entity.Change;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 换酒记录 服务类
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+public interface IChangeService extends IService<Change> {
+
+}

+ 17 - 0
src/main/java/com/huimv/wine/service/IDeviceService.java

@@ -0,0 +1,17 @@
+package com.huimv.wine.service;
+
+import com.huimv.wine.entity.Device;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 设备 服务类
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+public interface IDeviceService extends IService<Device> {
+
+    Device getByDeviceId(String seq);
+}

+ 16 - 0
src/main/java/com/huimv/wine/service/IManagerService.java

@@ -0,0 +1,16 @@
+package com.huimv.wine.service;
+
+import com.huimv.wine.entity.Manager;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 管理员 服务类
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+public interface IManagerService extends IService<Manager> {
+
+}

+ 17 - 0
src/main/java/com/huimv/wine/service/IOperationService.java

@@ -0,0 +1,17 @@
+package com.huimv.wine.service;
+
+import com.huimv.wine.entity.Operation;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 操作记录表
+ 服务类
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+public interface IOperationService extends IService<Operation> {
+
+}

+ 16 - 0
src/main/java/com/huimv/wine/service/IParamsService.java

@@ -0,0 +1,16 @@
+package com.huimv.wine.service;
+
+import com.huimv.wine.entity.Params;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 系统参数 服务类
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+public interface IParamsService extends IService<Params> {
+
+}

+ 16 - 0
src/main/java/com/huimv/wine/service/IRefundService.java

@@ -0,0 +1,16 @@
+package com.huimv.wine.service;
+
+import com.huimv.wine.entity.Refund;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 退款 服务类
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+public interface IRefundService extends IService<Refund> {
+
+}

+ 16 - 0
src/main/java/com/huimv/wine/service/ITradeService.java

@@ -0,0 +1,16 @@
+package com.huimv.wine.service;
+
+import com.huimv.wine.entity.Trade;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 交易表 服务类
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+public interface ITradeService extends IService<Trade> {
+
+}

+ 16 - 0
src/main/java/com/huimv/wine/service/IUserService.java

@@ -0,0 +1,16 @@
+package com.huimv.wine.service;
+
+import com.huimv.wine.entity.User;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 用户表 服务类
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+public interface IUserService extends IService<User> {
+
+}

+ 16 - 0
src/main/java/com/huimv/wine/service/IVersionService.java

@@ -0,0 +1,16 @@
+package com.huimv.wine.service;
+
+import com.huimv.wine.entity.Version;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 安卓版本号 服务类
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+public interface IVersionService extends IService<Version> {
+
+}

+ 16 - 0
src/main/java/com/huimv/wine/service/IWarnService.java

@@ -0,0 +1,16 @@
+package com.huimv.wine.service;
+
+import com.huimv.wine.entity.Warn;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 酒量不足警告表 服务类
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+public interface IWarnService extends IService<Warn> {
+
+}

+ 16 - 0
src/main/java/com/huimv/wine/service/IWineService.java

@@ -0,0 +1,16 @@
+package com.huimv.wine.service;
+
+import com.huimv.wine.entity.Wine;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 酒 服务类
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+public interface IWineService extends IService<Wine> {
+
+}

+ 16 - 0
src/main/java/com/huimv/wine/service/IWorkerService.java

@@ -0,0 +1,16 @@
+package com.huimv.wine.service;
+
+import com.huimv.wine.entity.Worker;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 上酒工 服务类
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+public interface IWorkerService extends IService<Worker> {
+
+}

+ 20 - 0
src/main/java/com/huimv/wine/service/impl/AdvertiseServiceImpl.java

@@ -0,0 +1,20 @@
+package com.huimv.wine.service.impl;
+
+import com.huimv.wine.entity.Advertise;
+import com.huimv.wine.mapper.AdvertiseMapper;
+import com.huimv.wine.service.IAdvertiseService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 广告表 服务实现类
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+@Service
+public class AdvertiseServiceImpl extends ServiceImpl<AdvertiseMapper, Advertise> implements IAdvertiseService {
+
+}

+ 20 - 0
src/main/java/com/huimv/wine/service/impl/ChangeServiceImpl.java

@@ -0,0 +1,20 @@
+package com.huimv.wine.service.impl;
+
+import com.huimv.wine.entity.Change;
+import com.huimv.wine.mapper.ChangeMapper;
+import com.huimv.wine.service.IChangeService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 换酒记录 服务实现类
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+@Service
+public class ChangeServiceImpl extends ServiceImpl<ChangeMapper, Change> implements IChangeService {
+
+}

+ 24 - 0
src/main/java/com/huimv/wine/service/impl/DeviceServiceImpl.java

@@ -0,0 +1,24 @@
+package com.huimv.wine.service.impl;
+
+import com.huimv.wine.entity.Device;
+import com.huimv.wine.mapper.DeviceMapper;
+import com.huimv.wine.service.IDeviceService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 设备 服务实现类
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+@Service
+public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> implements IDeviceService {
+
+    @Override
+    public Device getByDeviceId(String seq) {
+        return  this.getById(seq);
+    }
+}

+ 20 - 0
src/main/java/com/huimv/wine/service/impl/ManagerServiceImpl.java

@@ -0,0 +1,20 @@
+package com.huimv.wine.service.impl;
+
+import com.huimv.wine.entity.Manager;
+import com.huimv.wine.mapper.ManagerMapper;
+import com.huimv.wine.service.IManagerService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 管理员 服务实现类
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+@Service
+public class ManagerServiceImpl extends ServiceImpl<ManagerMapper, Manager> implements IManagerService {
+
+}

+ 21 - 0
src/main/java/com/huimv/wine/service/impl/OperationServiceImpl.java

@@ -0,0 +1,21 @@
+package com.huimv.wine.service.impl;
+
+import com.huimv.wine.entity.Operation;
+import com.huimv.wine.mapper.OperationMapper;
+import com.huimv.wine.service.IOperationService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 操作记录表
+ 服务实现类
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+@Service
+public class OperationServiceImpl extends ServiceImpl<OperationMapper, Operation> implements IOperationService {
+
+}

+ 20 - 0
src/main/java/com/huimv/wine/service/impl/ParamsServiceImpl.java

@@ -0,0 +1,20 @@
+package com.huimv.wine.service.impl;
+
+import com.huimv.wine.entity.Params;
+import com.huimv.wine.mapper.ParamsMapper;
+import com.huimv.wine.service.IParamsService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 系统参数 服务实现类
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+@Service
+public class ParamsServiceImpl extends ServiceImpl<ParamsMapper, Params> implements IParamsService {
+
+}

+ 20 - 0
src/main/java/com/huimv/wine/service/impl/RefundServiceImpl.java

@@ -0,0 +1,20 @@
+package com.huimv.wine.service.impl;
+
+import com.huimv.wine.entity.Refund;
+import com.huimv.wine.mapper.RefundMapper;
+import com.huimv.wine.service.IRefundService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 退款 服务实现类
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+@Service
+public class RefundServiceImpl extends ServiceImpl<RefundMapper, Refund> implements IRefundService {
+
+}

+ 20 - 0
src/main/java/com/huimv/wine/service/impl/TradeServiceImpl.java

@@ -0,0 +1,20 @@
+package com.huimv.wine.service.impl;
+
+import com.huimv.wine.entity.Trade;
+import com.huimv.wine.mapper.TradeMapper;
+import com.huimv.wine.service.ITradeService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 交易表 服务实现类
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+@Service
+public class TradeServiceImpl extends ServiceImpl<TradeMapper, Trade> implements ITradeService {
+
+}

+ 20 - 0
src/main/java/com/huimv/wine/service/impl/UserServiceImpl.java

@@ -0,0 +1,20 @@
+package com.huimv.wine.service.impl;
+
+import com.huimv.wine.entity.User;
+import com.huimv.wine.mapper.UserMapper;
+import com.huimv.wine.service.IUserService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 用户表 服务实现类
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+@Service
+public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IUserService {
+
+}

+ 20 - 0
src/main/java/com/huimv/wine/service/impl/VersionServiceImpl.java

@@ -0,0 +1,20 @@
+package com.huimv.wine.service.impl;
+
+import com.huimv.wine.entity.Version;
+import com.huimv.wine.mapper.VersionMapper;
+import com.huimv.wine.service.IVersionService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 安卓版本号 服务实现类
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+@Service
+public class VersionServiceImpl extends ServiceImpl<VersionMapper, Version> implements IVersionService {
+
+}

+ 20 - 0
src/main/java/com/huimv/wine/service/impl/WarnServiceImpl.java

@@ -0,0 +1,20 @@
+package com.huimv.wine.service.impl;
+
+import com.huimv.wine.entity.Warn;
+import com.huimv.wine.mapper.WarnMapper;
+import com.huimv.wine.service.IWarnService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 酒量不足警告表 服务实现类
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+@Service
+public class WarnServiceImpl extends ServiceImpl<WarnMapper, Warn> implements IWarnService {
+
+}

+ 20 - 0
src/main/java/com/huimv/wine/service/impl/WineServiceImpl.java

@@ -0,0 +1,20 @@
+package com.huimv.wine.service.impl;
+
+import com.huimv.wine.entity.Wine;
+import com.huimv.wine.mapper.WineMapper;
+import com.huimv.wine.service.IWineService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 酒 服务实现类
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+@Service
+public class WineServiceImpl extends ServiceImpl<WineMapper, Wine> implements IWineService {
+
+}

+ 20 - 0
src/main/java/com/huimv/wine/service/impl/WorkerServiceImpl.java

@@ -0,0 +1,20 @@
+package com.huimv.wine.service.impl;
+
+import com.huimv.wine.entity.Worker;
+import com.huimv.wine.mapper.WorkerMapper;
+import com.huimv.wine.service.IWorkerService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 上酒工 服务实现类
+ * </p>
+ *
+ * @author author
+ * @since 2024-04-18
+ */
+@Service
+public class WorkerServiceImpl extends ServiceImpl<WorkerMapper, Worker> implements IWorkerService {
+
+}

+ 57 - 0
src/main/java/com/huimv/wine/utils/WebsocketUtil.java

@@ -0,0 +1,57 @@
+package com.huimv.wine.utils;
+
+import javax.websocket.RemoteEndpoint;
+import javax.websocket.Session;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+public class WebsocketUtil {
+  /**
+   * 记录当前在线的Session
+   */
+  private static final Map<String, Session> SELLERS = new ConcurrentHashMap<>();
+  private static final Map<String, Session> MANAGERS = new ConcurrentHashMap<>();
+  private static final Map<String, Session> WORKER = new ConcurrentHashMap<>();
+
+
+  /**
+   * 添加session
+   * @param userId
+   * @param session
+   */
+  public static void addSession(String userId, Session session){
+    // 此处只允许一个用户的session链接。一个用户的多个连接,我们视为无效。
+    SELLERS.putIfAbsent ( userId, session );
+  }
+
+  /**
+   * 关闭session
+   * @param userId
+   */
+  public static void removeSession(String userId){
+    SELLERS.remove ( userId );
+  }
+
+  /**
+   * 给单个用户推送消息
+   * @param session
+   * @param message
+   */
+  public static void sendMessage(Session session, String message){
+    if(session == null){
+      return;
+    }
+    // 同步
+    RemoteEndpoint.Async async = session.getAsyncRemote ();
+    async.sendText ( message );
+  }
+
+  /**
+   * 向所有在线人发送消息
+   * @param message
+   */
+  public static void sendMessageForAll(String message) {
+    //jdk8 新方法
+    SELLERS.forEach((sessionId, session) -> sendMessage(session, message));
+  }
+}

+ 93 - 0
src/main/java/com/huimv/wine/ws/SellerController.java

@@ -0,0 +1,93 @@
+package com.huimv.wine.ws;
+
+import com.huimv.wine.entity.Device;
+import com.huimv.wine.service.IDeviceService;
+import com.huimv.wine.utils.WebsocketUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import org.springframework.util.ObjectUtils;
+
+import javax.websocket.*;
+import javax.websocket.server.PathParam;
+import javax.websocket.server.ServerEndpoint;
+import java.io.IOException;
+import java.util.Date;
+
+/**
+ * websocket接口处理类
+ */
+@Component
+@ServerEndpoint(value = "/seller/{seq}")
+public class SellerController {
+
+    @Autowired
+    private IDeviceService iDeviceService;
+    /**
+     * 连接事件,加入注解
+     * @param session
+     */
+    @OnOpen
+    public void onOpen(@PathParam(value = "seq") String seq, Session session) {
+        String message = "[" + seq + "]加入聊天室!!";
+
+        Device device =  iDeviceService.getByDeviceId(seq);
+        if (ObjectUtils.isEmpty(device)){
+            device.setId(seq);
+            iDeviceService.save(device);
+        }else {
+
+            device.setLast(new Date());
+            iDeviceService.updateById(device);
+        }
+        // 添加到session的映射关系中
+        WebsocketUtil.addSession(seq, session);
+
+
+    }
+
+    /**
+     * 连接事件,加入注解
+     * 用户断开链接
+     *
+     * @param seq
+     * @param session
+     */
+    @OnClose
+    public void onClose(@PathParam(value = "seq") String seq, Session session) {
+        String message = "[" + seq + "]退出了聊天室...";
+        // 删除映射关系
+        WebsocketUtil.removeSession(seq);
+
+//        WebsocketUtil.sendMessageForAll(message);
+    }
+
+    /**
+     * 当接收到用户上传的消息
+     *
+     * @param seq
+     * @param session
+     */
+    @OnMessage
+    public void onMessage(@PathParam(value = "seq") String seq, Session session, String message) {
+        String msg = "[" + seq + "]:" + message;
+        System.out.println("接收到信息:" + msg);
+        // 直接广播
+//        WebsocketUtil.sendMessageForAll(msg);
+    }
+
+    /**
+     * 处理用户活连接异常
+     *
+     * @param session
+     * @param throwable
+     */
+    @OnError
+    public void onError(Session session, Throwable throwable) {
+        try {
+            session.close();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        throwable.printStackTrace();
+    }
+}

+ 35 - 0
src/main/resources/application-dev.yml

@@ -0,0 +1,35 @@
+server:
+  port: 3080
+spring:
+  application:
+    name: wine-server
+  #------DataSource-----
+  datasource:
+    url: jdbc:mysql://122.112.224.199:3306/wine?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai
+    username: wine
+    password: Wine-Mysql.122
+    driver-class-name: com.mysql.cj.jdbc.Driver
+  redis:
+    host: 122.112.224.199
+    port: 6379
+    password: hm123456
+    database: 10
+config:
+  prefix: "http://192.168.1.10:3080"
+  server_private: "./certs/server-private.pem"
+  server_public: "./certs/server-public.pem"
+  client_private: "./certs/client-private.pem"
+  client_public: "./certs/client-public.pem"
+
+wx:
+  pay_title: "贵州醴泉古酿酒业"
+  merchant_acc: "1658095373"
+  app_id: "wx7363e2fe8926d76d"
+  api_cert_seq: "34931049643AF4C82415D882E6FF2875E2F5F1B7"
+  api_cert_path: "./certs/apiclient_key.pem"
+  api_v3_key: "3HangZhou2GuiZhou1LiQuanGuNiang0"
+vip:
+  scan_api: "http://192.168.1.10:3080/seller/vip-test"
+  pay_api: "http://192.168.1.10:3080/seller/vip-pay"
+  callback: "http://192.168.1.10:3080/seller/current_user"
+

+ 15 - 0
src/main/resources/application-prod.yml

@@ -0,0 +1,15 @@
+server:
+  port: 4090
+spring:
+  application:
+    name: pigfarm-local-device
+  #------DataSource-----
+  datasource:
+    url: jdbc:mysql://47.96.4.54:10052/huimv-farm-center?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai
+    username: root
+    password: hm123456789
+    driver-class-name: com.mysql.cj.jdbc.Driver
+  redis:
+    host: 122.112.224.199
+    port: 6379
+    password: hm123456

+ 1 - 0
src/main/resources/certs/APIV3.txt

@@ -0,0 +1 @@
+0HangZhou1GuiZhou2LiQuanGuNiang3

BIN
src/main/resources/certs/apiclient_cert.p12


+ 25 - 0
src/main/resources/certs/apiclient_cert.pem

@@ -0,0 +1,25 @@
+-----BEGIN CERTIFICATE-----
+MIIEKDCCAxCgAwIBAgIUNJMQSWQ69MgkFdiC5v8odeL18bcwDQYJKoZIhvcNAQEL
+BQAwXjELMAkGA1UEBhMCQ04xEzARBgNVBAoTClRlbnBheS5jb20xHTAbBgNVBAsT
+FFRlbnBheS5jb20gQ0EgQ2VudGVyMRswGQYDVQQDExJUZW5wYXkuY29tIFJvb3Qg
+Q0EwHhcNMjMxMTAyMDcyMDU5WhcNMjgxMDMxMDcyMDU5WjCBgTETMBEGA1UEAwwK
+MTY1ODA5NTM3MzEbMBkGA1UECgwS5b6u5L+h5ZWG5oi357O757ufMS0wKwYDVQQL
+DCTotLXlt57phrTms4nlj6Tphb/phZLkuJrmnInpmZDlhazlj7gxCzAJBgNVBAYM
+AkNOMREwDwYDVQQHDAhTaGVuWmhlbjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
+AQoCggEBAOPLNmNXY7q7RlCtx9ocNJZVs0xpSeCqDUz2s4/hQbiKetJMZYIHJ5os
+1yYET3VaOOvb4OeuoUxj3n7Znzu9clYu3ulJN4NDCM6HzmntrbRR8eX4KqTZK61U
+09r0PeCYY3TYR2/CWpmdIAVs99ZitR2Td5KaB5d1d1yddIK1gTaRXWXqtrkrWENl
+tIa4SHNrv9EImM2rC7AsBZDG01++sbqLyex1qr0GPvE2kTdOR9EOKvyEHz6IG+FM
+Wb4WubQuTw4Zyq2hSnOMvUGlk6SDKU2sqJJIp3DK+j1D+6C68dkO4wOt9t68my2o
+JUoC53M22+h+3CDaB00fa64SLBGNvjECAwEAAaOBuTCBtjAJBgNVHRMEAjAAMAsG
+A1UdDwQEAwID+DCBmwYDVR0fBIGTMIGQMIGNoIGKoIGHhoGEaHR0cDovL2V2Y2Eu
+aXRydXMuY29tLmNuL3B1YmxpYy9pdHJ1c2NybD9DQT0xQkQ0MjIwRTUwREJDMDRC
+MDZBRDM5NzU0OTg0NkMwMUMzRThFQkQyJnNnPUhBQ0M0NzFCNjU0MjJFMTJCMjdB
+OUQzM0E4N0FEMUNERjU5MjZFMTQwMzcxMA0GCSqGSIb3DQEBCwUAA4IBAQB3uOu6
+/YDlku9ABJSXJzRzOJVEo95QKYKEGo0CVqxORgx6vB1IucoZd0cKbMTY1b+s1kvm
+2Ct/bIhQwZrPDxRBu3Hy7uY141ujWomeIH6CB0mYv0yCCFptf95tS7PjIfqnpqDU
++sAWQ7PBt+Fsx0M/Mz2DP5fSw+j19+eh4GNNxqGj4a43ecUW1Y8jjN5x/+1baCKI
+xzGvmoMLFfE7KnhiELhkdqJNKBPgDdDEw6va0Y5NG5MhJtM+gkkPz1yRKo4JoAnA
+pSCHBEHHYbzjypCPv3THo2PoDI6zzxCx4RRvEkasMixYLdFtq6ZtfNbiZaCGyhZm
+slgUiCj5V4Vi0iYd
+-----END CERTIFICATE-----

+ 28 - 0
src/main/resources/certs/apiclient_key.pem

@@ -0,0 +1,28 @@
+-----BEGIN PRIVATE KEY-----
+MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDjyzZjV2O6u0ZQ
+rcfaHDSWVbNMaUngqg1M9rOP4UG4inrSTGWCByeaLNcmBE91Wjjr2+DnrqFMY95+
+2Z87vXJWLt7pSTeDQwjOh85p7a20UfHl+Cqk2SutVNPa9D3gmGN02EdvwlqZnSAF
+bPfWYrUdk3eSmgeXdXdcnXSCtYE2kV1l6ra5K1hDZbSGuEhza7/RCJjNqwuwLAWQ
+xtNfvrG6i8nsdaq9Bj7xNpE3TkfRDir8hB8+iBvhTFm+Frm0Lk8OGcqtoUpzjL1B
+pZOkgylNrKiSSKdwyvo9Q/uguvHZDuMDrfbevJstqCVKAudzNtvoftwg2gdNH2uu
+EiwRjb4xAgMBAAECggEAZjkxZQ84f/m+qkHyJ5z0tGotFiNBtgJaCanEFtM9TPVH
+/Muv2dQgH33z5umURtOAK8f2e8HQPJmspTw/yu1PPAG4ovPqZ4tTjms/ZCX3B66m
+YU8mw+d5REWG9QEaK4n3R94u4KZVRg5O6mBmL90H7gfZZv6cXYmnUPaP7IBLRhLJ
+Gyf4Cv5pF3ZL8W8nrmh0FRpnkNe+M4URTLiMSEhwBO2HWpontuDT8MI6j9iWINIh
+Eafmv1HAMhOlltzRM+eqWyCECDjTA39drtLP5OmLqEuBsFE6ngQZuyH7n/zJbrWc
+/Dn6xXOV7DPSaecldKKj1I/HGD0C8HcnxAYWyP5ByQKBgQDy0oXV4lMFESnWmiyB
+jwLtEmwyjTybuAavobamcQ8I6s7E09zJoYvh67p9D9Ja1Veau531mpwdO9yXyII/
+BuA9i2kSv4jBsJClK7GECWnqCA7KCiDqLT4tNV/6nwMe9TJ1zA9Ra9fGMHPK8NwW
+IUWJNlnhHEHU3T4L9iROxtGHtwKBgQDwJ+a4zrYHRsgndk/GkLSipbHBJp6rM4jS
+PHuHQrsTvkxl+e09pRMIl1YQM6ScYnERSo16O8tFGiXtxf9ew5S6vKejZfwGXXgk
+AmGcHdzikfZt4SRsZ8oVO5kWEmjlb2KroU03Kt6a4SknTqzbAFzxEqniWWSfBZR1
+b0hQlSZZVwKBgQCiGGEZX4U2G7gHN1JAhpxYb/TkZh4wgU+NTPGl+FEmDcFL6XY4
+72t2vCr4s2gkFMjvVRFkU/qlFUHz3Pj9Y/SrgPX6evuq+NgGOr28u6AFh61/t/Uy
+/lLEUR4qKp4lu18c/cS4ALrA5bVWoyT4bOuDZlHnkTptA+gYig7Au75BzwKBgQDu
+SXkZmClvMOE6np7rU/uXgrbMAsje8ERq7g5XmHPNVD2z1Xd7egZXuOlxK/zCGr87
+u/CC/z9isl49/f60BXXWj4f6jh+yJR4nBKHbaJoZyWBtiD4+vgD6bmcoSl4AgTOz
+PlpCSewUWyMdWGgU6NhPbwhXigFX9A5pM2DabBNgAwKBgCrAdZ+sXvgc2GQyg6Yy
+ZlZ60keZg/5VnOFkL8MXhOfQ457FbHkI2nFMuWH4Mqqm/oOQvSF9DXtWPBpblaIe
+w9xBUB9Ohq2I44ts76zAxFa3Cuym7pPVk66+7ud/sYqUe7Ma8KsU5sDVjoC30i1u
+nBTD0xi8i+TpR5h8XocJh4es
+-----END PRIVATE KEY-----

+ 27 - 0
src/main/resources/certs/client-private.pem

@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEAqJl/Zna5pSI5uM+tOwbG3sfnawXIak5jVYNI8i42fGspdGXk
+ZImFpOSkHXNswmq6bbsSpoZDGbrWrFLMG6ZMqGrRGIBlqCb4PvmYI50pL7jkgDJe
+9mxMUEarBiLXk7PTpsY8v3/EkmWSxxrkMCtzvkGRu82BeauFmxoyOB/ZANjFvHKR
+vAfsI9v+3WD/1ux/2rM34p0p5fX2r9qR9moiWzkZfsUv64rZr8UnTntKMumRYUxe
+aeU/Hxyf7fNX9G/QxOYUH1o8fYDdg4+7fhL7I+cy/mkC6KM+s61d5ypU2Jwe9Z7k
+NTG51SEvVcY3NYRJEUef/xIs7QJIhZGixUAKPwIDAQABAoIBAQCPs71d5SXYdTKD
+ric1n1IUAojhtF0dFtEdyrd7DB6Or3v25P3lHz4UzHiBTadOkk9yRbfgzaEVpiVh
+XXTwwC6ogdrUqmN7DjQa4Pxmpoa7UTkZd1VvbeEhrwoIQdxC3Uwx4tdWVZ2DNiYD
+pI0H7ZFKgXKogsGvpZ1MFOjm42Y/jCFuyNLylMwmUeU7tg9WLveQmBCNs9IR4/cc
+tR7RkZyOR9X+NLvLLsdn7dDUzbdOxnS4QFvURErHUl7PBoLwC76ywrLU+eRHr3L0
+9J5qruy2xZ4c41sgtOCb1a43xsBUTL2b2Tnq8Q/iX+welZH40+qNbbfcBB4nCfWu
+0fZRJkzpAoGBAMWx39DTYylDuTWti2o5IV+zfJKjCPIl7Sp89gBvKVuOq2IYkUt1
+183MlqrfxcT6s/fpxOnyNSDtCpoZAm4v2oNnPF1n+A/Tj/uVaxAbdZxhDMxab6II
+BsSAI8vsw3IgpAs+sinjYeGK1KEBSkjgPctfDdpZK6zl4Katkt4LKfmtAoGBANpS
+6N5l9009R6hszgW289sHwMoKnv5N0BoL7WlDiHsph/H4KGFIJ+QeJk1Ouy82nZbe
+pUHzgWT2hMVBh0fOzywqHv5maIZ5PlrLhVdEnh2IfM2zMlS1lhiugZmnCt0dCXOS
+47yyhr9R+fWfinFUsZ7nHdCMLSHNI1MYeX7A7ikbAoGAI0KjgdKCKDT9DrbiW9LO
+wgv4VwsfKFldYKujENbC0KK0rK1nFMdy8zDfWqDI3GY+vSQDzBo4IaRFtNBrH44H
+clJycNJ/aws37g5rZxcOthKVPsmOiZ7W3itgtxmGjo+F0r+e9Vup9JlXbVQWlMLy
+IpjUlrI62P6zP+dLf7EMDo0CgYEApgdtHkwu0GdsyjHMT149fnEb9Mo09THZsyUk
+6+s2rGr9/k547to/s+QVvq7D/PisyWISDOCQo2YxvAzEQyCMPordvRvGG5WyjLu/
+cIk3MUBtoMTI3tClD6oN1vrIcTS2zlSDqimd/Xrq+xbT4rHEzhH2g3VGkTD+zx+K
+rZEszMcCgYAA7svEh1i5XMFCj1U6C/6/VsXGu0X4WsD+v8/6sXNayjEe8HJRLkLZ
+I2AkGodcYKsgZzGRAsSXRENmTCyTlZ3s1hqF4Ay29I9krScNyqKrvOc0K9ZZlnML
+98zlYhfPsUWRTT1WBWXcgINbXeP80PRThx7JWLXrOvxx6Tf7qvxBPw==
+-----END RSA PRIVATE KEY-----

+ 9 - 0
src/main/resources/certs/client-public.pem

@@ -0,0 +1,9 @@
+-----BEGIN PUBLIC KEY-----
+MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqJl/Zna5pSI5uM+tOwbG
+3sfnawXIak5jVYNI8i42fGspdGXkZImFpOSkHXNswmq6bbsSpoZDGbrWrFLMG6ZM
+qGrRGIBlqCb4PvmYI50pL7jkgDJe9mxMUEarBiLXk7PTpsY8v3/EkmWSxxrkMCtz
+vkGRu82BeauFmxoyOB/ZANjFvHKRvAfsI9v+3WD/1ux/2rM34p0p5fX2r9qR9moi
+WzkZfsUv64rZr8UnTntKMumRYUxeaeU/Hxyf7fNX9G/QxOYUH1o8fYDdg4+7fhL7
+I+cy/mkC6KM+s61d5ypU2Jwe9Z7kNTG51SEvVcY3NYRJEUef/xIs7QJIhZGixUAK
+PwIDAQAB
+-----END PUBLIC KEY-----

+ 27 - 0
src/main/resources/certs/server-private.pem

@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEA3cD06TNsxnbW8Vm8Ga045ZUkRWlkriFNDMG15ezHCcvPNUNh
+lFU6SaoycXz29sTmt2dlc3kNqySX1KxIT4I1UP58lQZKi6MrH7morgA/mdBorIyj
+jKLdmsigizrLNCHtYa7dKZ0ByzxkYS2zENQe55OkBKIv+6k/ssfr4nTubM646PMy
+bpN0QkTwmpH43xppahrTSeOlOjSy2gkru1Orxe7ssqn89hzyyT6OCRjSjOFDAVYB
+eyCiEg/MX8r/NsQca1uPXoDLXUV8DVsp8NqTq0oDjZA1qs4tmTbnxQ130v95eDZz
+fiXWXcKUF8hziOFPzXhnxdZVwjn7F48thNdvbwIDAQABAoIBAQDGnO4+eCqyzvnR
+DTgmHznYlu33pV/hfj4OcOlEWAAlS//4irM5MeSU2fV4JB7mApFKLzd0ZzXQ1WOP
+vga9/7dVJbnbl9jonGohbh4gSmSslTdLZGOPsMeevJbeXPhnZwO/++hmPxO+PgcB
+6vZ42iQb8eZzp/gmBP7iV6F0IJrzo7/p9C1+DAcdA6URCkR8KseS4Fulo8zrpxz0
+OecHrwXTF8nYInIIMcG0iBcCYhe7W4OxFkMM9Phsd3XbLdlE1RWpA2WriL4kCTIv
+bOQ+RP+3KGEsyZXzGdM9J6kNcZmYldaDzRUHawMQYeqmvTtDNQCnzsEJDvewLxdy
+1991oVHxAoGBAOARC0gaXWXoe4seubQvNJgE7l1AdQhW+yTpRKwRFycVRMuV309t
+CcMBXLA/lkKZsL0IorqhULIGlsyD9CqZ4MTCTKBqoAqzvduZZEiu289uLXETnLj+
+2iv3nQIsVAPEfKk5HBZTQ6E9P/ii45d3qMLM7WXIyW+xXwaOmOPpmvlbAoGBAP1b
+h56/G9/aynXReAilv3CINnR1Q3EyytgqAqaLIZ6zTyg4w4z/T5dX11lQkytu1fya
+6jqHeH8FBvMqIDzzJPpaqeEChXsGtSho34xhtsLt/QViDD9OG4btDD/adsOxftk9
+t8TDibSuL/S6zmYeQFc3BurkTeezXyOp4B0ChGp9AoGAMr5paaje4gdmgzkwIUhX
+ht4HBYNlfcAFHHTfooA0WBuO+vQ0II63GTyjux6LbwXTatwbzlxeJBMt758qmsNC
+jgzawbGkEQhnxOXWOkevbCitjeA9LAA7dJ2dJzLWzAuhl8lhPQUaWde/NxXcqR7m
+T0eNs/Fm/S6UMK32nhb3i+UCgYEAwNhWloKo2O9Ug/F5CDwBR8qmiGZpe1RKCdeQ
+ROxKHt4lNlxenIgJMQ1voVAvdTPcNXZFK1/KXASbkaNS/pGkZ9tyyw58Q3SLl8Kb
+xeLqld1IZjyHTfhKA52TYVcMZ1BHWVwc8OxVeO3NGt7GE/yaxMfhwBEfK2ng1OiM
+6gfsepECgYBuYg8MJBoXJ3d8CssckK9ckDpWOilqvbSTaqIWOlTZbgQFFDLGZBoy
+3SaaNEc7AtQ4VeF15Ug2a3PB2Q6D+lGw63DhPdLm7I3pUAd352hLacCvyQHei1o5
+N7foQtnDbXJ/Ap1Oaprf82ZHV3558sEKl2uRvyvp6EgqOa7NbqNodw==
+-----END RSA PRIVATE KEY-----

+ 9 - 0
src/main/resources/certs/server-public.pem

@@ -0,0 +1,9 @@
+-----BEGIN PUBLIC KEY-----
+MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3cD06TNsxnbW8Vm8Ga04
+5ZUkRWlkriFNDMG15ezHCcvPNUNhlFU6SaoycXz29sTmt2dlc3kNqySX1KxIT4I1
+UP58lQZKi6MrH7morgA/mdBorIyjjKLdmsigizrLNCHtYa7dKZ0ByzxkYS2zENQe
+55OkBKIv+6k/ssfr4nTubM646PMybpN0QkTwmpH43xppahrTSeOlOjSy2gkru1Or
+xe7ssqn89hzyyT6OCRjSjOFDAVYBeyCiEg/MX8r/NsQca1uPXoDLXUV8DVsp8NqT
+q0oDjZA1qs4tmTbnxQ130v95eDZzfiXWXcKUF8hziOFPzXhnxdZVwjn7F48thNdv
+bwIDAQAB
+-----END PUBLIC KEY-----

+ 16 - 0
src/main/resources/mapper/AdvertiseMapper.xml

@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.huimv.wine.mapper.AdvertiseMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.huimv.wine.entity.Advertise">
+        <id column="id" property="id" />
+        <result column="order" property="order" />
+        <result column="time" property="time" />
+        <result column="type" property="type" />
+        <result column="src" property="src" />
+        <result column="duration" property="duration" />
+        <result column="describe" property="describe" />
+    </resultMap>
+
+</mapper>

+ 34 - 0
src/main/resources/mapper/ChangeMapper.xml

@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.huimv.wine.mapper.ChangeMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.huimv.wine.entity.Change">
+        <id column="id" property="id" />
+        <result column="wid" property="wid" />
+        <result column="device" property="device" />
+        <result column="manager" property="manager" />
+        <result column="worker" property="worker" />
+        <result column="code" property="code" />
+        <result column="status" property="status" />
+        <result column="publish" property="publish" />
+        <result column="finish" property="finish" />
+        <result column="wine1o" property="wine1o" />
+        <result column="remain1o" property="remain1o" />
+        <result column="wine2o" property="wine2o" />
+        <result column="remain2o" property="remain2o" />
+        <result column="wine3o" property="wine3o" />
+        <result column="remain3o" property="remain3o" />
+        <result column="wine4o" property="wine4o" />
+        <result column="remain4o" property="remain4o" />
+        <result column="wine1n" property="wine1n" />
+        <result column="remain1n" property="remain1n" />
+        <result column="wine2n" property="wine2n" />
+        <result column="remain2n" property="remain2n" />
+        <result column="wine3n" property="wine3n" />
+        <result column="remain3n" property="remain3n" />
+        <result column="wine4n" property="wine4n" />
+        <result column="remain4n" property="remain4n" />
+    </resultMap>
+
+</mapper>

+ 29 - 0
src/main/resources/mapper/DeviceMapper.xml

@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.huimv.wine.mapper.DeviceMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.huimv.wine.entity.Device">
+        <id column="id" property="id" />
+        <result column="addr" property="addr" />
+        <result column="first" property="first" />
+        <result column="last" property="last" />
+        <result column="wine1" property="wine1" />
+        <result column="remain1" property="remain1" />
+        <result column="vpp1" property="vpp1" />
+        <result column="wine2" property="wine2" />
+        <result column="remain2" property="remain2" />
+        <result column="vpp2" property="vpp2" />
+        <result column="wine3" property="wine3" />
+        <result column="remain3" property="remain3" />
+        <result column="vpp3" property="vpp3" />
+        <result column="wine4" property="wine4" />
+        <result column="remain4" property="remain4" />
+        <result column="vpp4" property="vpp4" />
+        <result column="manager" property="manager" />
+        <result column="mark" property="mark" />
+        <result column="order" property="order" />
+        <result column="income" property="income" />
+    </resultMap>
+
+</mapper>

+ 18 - 0
src/main/resources/mapper/ManagerMapper.xml

@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.huimv.wine.mapper.ManagerMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.huimv.wine.entity.Manager">
+        <id column="id" property="id" />
+        <result column="super" property="super" />
+        <result column="first" property="first" />
+        <result column="last" property="last" />
+        <result column="name" property="name" />
+        <result column="account" property="account" />
+        <result column="password" property="password" />
+        <result column="order" property="order" />
+        <result column="income" property="income" />
+    </resultMap>
+
+</mapper>

+ 16 - 0
src/main/resources/mapper/OperationMapper.xml

@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.huimv.wine.mapper.OperationMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.huimv.wine.entity.Operation">
+        <id column="id" property="id" />
+        <result column="user_type" property="userType" />
+        <result column="user_id" property="userId" />
+        <result column="op_type" property="opType" />
+        <result column="level" property="level" />
+        <result column="time" property="time" />
+        <result column="describe" property="describe" />
+    </resultMap>
+
+</mapper>

+ 13 - 0
src/main/resources/mapper/ParamsMapper.xml

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.huimv.wine.mapper.ParamsMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.huimv.wine.entity.Params">
+        <id column="id" property="id" />
+        <result column="describe" property="describe" />
+        <result column="key" property="key" />
+        <result column="value" property="value" />
+    </resultMap>
+
+</mapper>

+ 14 - 0
src/main/resources/mapper/RefundMapper.xml

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.huimv.wine.mapper.RefundMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.huimv.wine.entity.Refund">
+        <id column="tid" property="tid" />
+        <result column="manager" property="manager" />
+        <result column="time" property="time" />
+        <result column="cash" property="cash" />
+        <result column="reason" property="reason" />
+    </resultMap>
+
+</mapper>

+ 19 - 0
src/main/resources/mapper/TradeMapper.xml

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.huimv.wine.mapper.TradeMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.huimv.wine.entity.Trade">
+        <id column="id" property="id" />
+        <result column="trade" property="trade" />
+        <result column="device" property="device" />
+        <result column="time" property="time" />
+        <result column="payer" property="payer" />
+        <result column="wine" property="wine" />
+        <result column="price" property="price" />
+        <result column="weight" property="weight" />
+        <result column="cash" property="cash" />
+        <result column="manager" property="manager" />
+    </resultMap>
+
+</mapper>

+ 19 - 0
src/main/resources/mapper/UserMapper.xml

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.huimv.wine.mapper.UserMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.huimv.wine.entity.User">
+        <id column="id" property="id" />
+        <result column="first" property="first" />
+        <result column="last" property="last" />
+        <result column="vip" property="vip" />
+        <result column="cash" property="cash" />
+        <result column="max_cost" property="maxCost" />
+        <result column="buy_count" property="buyCount" />
+        <result column="buy_cost" property="buyCost" />
+        <result column="refund_count" property="refundCount" />
+        <result column="refund_cost" property="refundCost" />
+    </resultMap>
+
+</mapper>

+ 12 - 0
src/main/resources/mapper/VersionMapper.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.huimv.wine.mapper.VersionMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.huimv.wine.entity.Version">
+        <id column="ver" property="ver" />
+        <result column="name" property="name" />
+        <result column="url" property="url" />
+    </resultMap>
+
+</mapper>

+ 14 - 0
src/main/resources/mapper/WarnMapper.xml

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.huimv.wine.mapper.WarnMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.huimv.wine.entity.Warn">
+        <id column="id" property="id" />
+        <result column="device" property="device" />
+        <result column="manager" property="manager" />
+        <result column="time" property="time" />
+        <result column="deal" property="deal" />
+    </resultMap>
+
+</mapper>

+ 20 - 0
src/main/resources/mapper/WineMapper.xml

@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.huimv.wine.mapper.WineMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.huimv.wine.entity.Wine">
+        <id column="id" property="id" />
+        <result column="name" property="name" />
+        <result column="price" property="price" />
+        <result column="degree" property="degree" />
+        <result column="density" property="density" />
+        <result column="picture" property="picture" />
+        <result column="time" property="time" />
+        <result column="describe" property="describe" />
+        <result column="order" property="order" />
+        <result column="income" property="income" />
+        <result column="deleted" property="deleted" />
+    </resultMap>
+
+</mapper>

+ 20 - 0
src/main/resources/mapper/WorkerMapper.xml

@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.huimv.wine.mapper.WorkerMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.huimv.wine.entity.Worker">
+        <id column="id" property="id" />
+        <result column="first" property="first" />
+        <result column="last" property="last" />
+        <result column="name" property="name" />
+        <result column="phone" property="phone" />
+        <result column="password" property="password" />
+        <result column="manager" property="manager" />
+        <result column="count" property="count" />
+        <result column="todo" property="todo" />
+        <result column="avg_cost" property="avgCost" />
+        <result column="max_cost" property="maxCost" />
+    </resultMap>
+
+</mapper>