Kaynağa Gözat

Merge remote-tracking branch 'origin/master'

xiari 1 yıl önce
ebeveyn
işleme
510efa30a6
17 değiştirilmiş dosya ile 644 ekleme ve 144 silme
  1. 39 0
      ruoyi-api/ruoyi-api-backstage/src/main/java/org/dromara/backstage/api/RemoteXfLimitedService.java
  2. 39 0
      ruoyi-api/ruoyi-api-backstage/src/main/java/org/dromara/backstage/api/RemoteXfQuotaService.java
  3. 67 0
      ruoyi-api/ruoyi-api-backstage/src/main/java/org/dromara/backstage/api/domain/bo/RemoteXfLimitedBo.java
  4. 33 0
      ruoyi-api/ruoyi-api-backstage/src/main/java/org/dromara/backstage/api/domain/bo/RemoteXfLimitedTermBo.java
  5. 67 0
      ruoyi-api/ruoyi-api-backstage/src/main/java/org/dromara/backstage/api/domain/bo/RemoteXfQuotaBo.java
  6. 32 0
      ruoyi-api/ruoyi-api-backstage/src/main/java/org/dromara/backstage/api/domain/bo/RemoteXfQuotaTermBo.java
  7. 2 135
      ruoyi-api/ruoyi-api-backstage/src/main/java/org/dromara/backstage/api/domain/bo/RemoteXfTermParamBo.java
  8. 23 3
      ruoyi-common/ruoyi-common-message/src/main/java/org/dromara/common/message/kafka/constant/MessageEventTypeConstants.java
  9. 54 0
      ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/consumption/dubbo/RemoteXfLimitedServiceImpl.java
  10. 52 0
      ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/consumption/dubbo/RemoteXfQuotaServiceImpl.java
  11. 9 5
      ruoyi-server/ruoyi-server-base/src/main/java/org/dromara/server/base/service/yktOperation/SyncRemotePtUserAccountService.java
  12. 76 0
      ruoyi-server/ruoyi-server-base/src/main/java/org/dromara/server/base/service/yktOperation/SyncRemoteXfLimitedService.java
  13. 76 0
      ruoyi-server/ruoyi-server-base/src/main/java/org/dromara/server/base/service/yktOperation/SyncRemoteXfQuotaService.java
  14. 2 0
      ruoyi-server/ruoyi-server-base/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
  15. 1 1
      ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/yktOperation/PtXfDiscountEventStrategyImpl.java
  16. 36 0
      ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/yktOperation/PtXfLimitedEventStrategyImpl.java
  17. 36 0
      ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/yktOperation/PtXfQuotaEventStrategyImpl.java

+ 39 - 0
ruoyi-api/ruoyi-api-backstage/src/main/java/org/dromara/backstage/api/RemoteXfLimitedService.java

@@ -0,0 +1,39 @@
+package org.dromara.backstage.api;
+
+import org.dromara.backstage.api.domain.bo.RemoteXfLimitedBo;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 消费限额服务
+ *
+ * @author Lion Li
+ */
+public interface RemoteXfLimitedService {
+
+    /**
+     * 新增消费限额
+     */
+    Boolean insertByBo(RemoteXfLimitedBo bo) throws Exception;
+
+    /**
+     * 修改消费限额
+     */
+    Boolean updateByBo(RemoteXfLimitedBo bo) throws Exception;
+
+    /**
+     * 删除消费限额
+     */
+    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) throws Exception;
+
+    /**
+     * 新增限额设备
+     */
+    Boolean addLimitedTerm(List<Long> ids);
+
+    /**
+     * 删除限额设备
+     */
+    Boolean deleteLimitedTerm(List<Long> ids);
+}

+ 39 - 0
ruoyi-api/ruoyi-api-backstage/src/main/java/org/dromara/backstage/api/RemoteXfQuotaService.java

@@ -0,0 +1,39 @@
+package org.dromara.backstage.api;
+
+import org.dromara.backstage.api.domain.bo.RemoteXfQuotaBo;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 消费限额服务
+ *
+ * @author Lion Li
+ */
+public interface RemoteXfQuotaService {
+
+    /**
+     * 新增消费限额
+     */
+    Boolean insertByBo(RemoteXfQuotaBo bo) throws Exception;
+
+    /**
+     * 修改消费限额
+     */
+    Boolean updateByBo(RemoteXfQuotaBo bo) throws Exception;
+
+    /**
+     * 删除消费限额
+     */
+    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) throws Exception;
+
+    /**
+     * 新增限额设备
+     */
+    Boolean addQuotaTerm(List<Long> ids);
+
+    /**
+     * 删除限额设备
+     */
+    Boolean deleteQuotaTerm(List<Long> ids);
+}

+ 67 - 0
ruoyi-api/ruoyi-api-backstage/src/main/java/org/dromara/backstage/api/domain/bo/RemoteXfLimitedBo.java

@@ -0,0 +1,67 @@
+package org.dromara.backstage.api.domain.bo;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * 限次管理业务对象
+ *
+ * @author bing
+ * @date 2024-08-15
+ */
+@Data
+@NoArgsConstructor
+public class RemoteXfLimitedBo implements Serializable {
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 限次Id,主键
+     */
+    private Long limitedId;
+
+    /**
+     * 卡类Id
+     */
+    private Long cardType;
+
+    /**
+     * 每日次数
+     */
+    private Long dailyCount;
+
+    /**
+     * 早餐次数
+     */
+    private Long oneCount;
+
+    /**
+     * 午餐次数
+     */
+    private Long twoCount;
+
+    /**
+     * 晚餐次数
+     */
+    private Long threeCount;
+
+    /**
+     * 宵夜次数
+     */
+    private Long fourCount;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 启用状态,0-未启用 1-启用
+     */
+    private String status;
+
+
+}

+ 33 - 0
ruoyi-api/ruoyi-api-backstage/src/main/java/org/dromara/backstage/api/domain/bo/RemoteXfLimitedTermBo.java

@@ -0,0 +1,33 @@
+package org.dromara.backstage.api.domain.bo;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * 限次设备绑定业务对象
+ *
+ * @author bing
+ * @date 2024-08-15
+ */
+@Data
+@NoArgsConstructor
+public class RemoteXfLimitedTermBo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 限次Id,主键
+     */
+    private Long limitedTermId;
+
+    /**
+     * 设备Id
+     */
+    private Long termId;
+
+
+}

+ 67 - 0
ruoyi-api/ruoyi-api-backstage/src/main/java/org/dromara/backstage/api/domain/bo/RemoteXfQuotaBo.java

@@ -0,0 +1,67 @@
+package org.dromara.backstage.api.domain.bo;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * 限额管理业务对象
+ *
+ * @author bing
+ * @date 2024-08-14
+ */
+@Data
+@NoArgsConstructor
+public class RemoteXfQuotaBo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+    /**
+     * 限额Id,主键
+     */
+    private Long quotaId;
+
+    /**
+     * 卡类Id
+     */
+    private Long cardType;
+
+    /**
+     * 每日金额
+     */
+    private Long dailyMoney;
+
+    /**
+     * 早餐金额
+     */
+    private Long oneMoney;
+
+    /**
+     * 午餐金额
+     */
+    private Long twoMoney;
+
+    /**
+     * 晚餐金额
+     */
+    private Long threeMoney;
+
+    /**
+     * 宵夜金额
+     */
+    private Long fourMoney;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 启用状态,0-未启用 1-启用
+     */
+    private String status;
+
+
+}

+ 32 - 0
ruoyi-api/ruoyi-api-backstage/src/main/java/org/dromara/backstage/api/domain/bo/RemoteXfQuotaTermBo.java

@@ -0,0 +1,32 @@
+package org.dromara.backstage.api.domain.bo;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * 限额设备绑定业务对象
+ *
+ * @author bing
+ * @date 2024-08-14
+ */
+@Data
+@NoArgsConstructor
+public class RemoteXfQuotaTermBo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+    /**
+     * 限额Id,主键
+     */
+    private Long quotaTermId;
+
+    /**
+     * 设备Id
+     */
+    private Long termId;
+
+
+}

+ 2 - 135
ruoyi-api/ruoyi-api-backstage/src/main/java/org/dromara/backstage/api/domain/bo/RemoteXfTermParamBo.java

@@ -3,6 +3,7 @@ package org.dromara.backstage.api.domain.bo;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
+import java.io.Serial;
 import java.io.Serializable;
 import java.math.BigDecimal;
 
@@ -16,133 +17,19 @@ import java.math.BigDecimal;
 @NoArgsConstructor
 public class RemoteXfTermParamBo implements Serializable {
 
+    @Serial
     private static final long serialVersionUID = 1L;
     /**
      * 设备Id,主键
      */
     private Long termId;
 
-    /**
-     * 设备机号
-     */
-//    private Long termNo;
-
-    /**
-     * 设备名称
-     */
-//    private String termName;
-
-    /**
-     * 所属餐厅Id
-     */
-//    private Long roomId;
-
-    /**
-     * 结算账户Id
-     */
-//    private Long accountId;
-
-    /**
-     * 设备类型,见XF_TermType字典类型
-     */
-//    private String termType;
-
-    /**
-     * 设备二维码
-     */
-//    private String qrCode;
-
-    /**
-     * 工作站Id
-     */
-//    private Long stationId;
-
-    /**
-     * 扣费类型,见XF_ConsumeType字典类型
-     */
-//    private String consumeType;
-
-    /**
-     * 是否自动下载参数,见sys_yew_no字典项
-     */
-//    private String autoDown;
-
-    /**
-     * 应用系统,见YYXT数据字典类别
-     */
-//    private String useType;
 
     /**
      * 允许使用的卡类
      */
-//    @NotNull(message = "允许使用的卡类不能为空")
     private Long cardType;
 
-    /**
-     * 设备IP
-     */
-//    private String termIp;
-
-    /**
-     * 设备MAC地址
-     */
-//    private String termMac;
-
-    /**
-     * 设备通讯端口
-     */
-//    private Long commPort;
-
-    /**
-     * 子网掩码
-     */
-//    private String mask;
-
-    /**
-     * 服务器IP
-     */
-//    private String serverIp;
-
-    /**
-     * 服务器端口
-     */
-//    private Long serverPort;
-
-    /**
-     * 网关IP
-     */
-//    private String gatewayIp;
-
-    /**
-     * 心跳间隔,以秒为单位
-     */
-//    private Long beatInterval;
-
-    /**
-     * 通讯超时时间,以100毫秒为单位
-     */
-//    private Long timeout;
-
-    /**
-     * 允许脱机时间
-     */
-//    private Long offlineTime;
-
-    /**
-     * 高级参数
-     */
-//    private String advParam;
-
-    /**
-     * 设备参数
-     */
-//    private String posParam;
-
-    /**
-     * 费率参数
-     */
-//    private String rateParam;
-
     /**
      * 消费工作模式,见XF_WorkMode字典类别
      */
@@ -303,26 +190,6 @@ public class RemoteXfTermParamBo implements Serializable {
      */
     private String termValidity;
 
-    /**
-     * 设备记录流水号
-     */
-//    private Long recordId;
-
-    /**
-     * 数据上传时间
-     */
-//    private Date uploadTime;
-
-    /**
-     * 黑名单下载时间
-     */
-//    private Date blackDownTime;
-
-    /**
-     * 最后校时时间
-     */
-//    private Date lastCheck;
-
     /**
      * 重启时间
      */

+ 23 - 3
ruoyi-common/ruoyi-common-message/src/main/java/org/dromara/common/message/kafka/constant/MessageEventTypeConstants.java

@@ -61,6 +61,14 @@ public class MessageEventTypeConstants {
      * 折扣管理能模块标识
      */
     public static final String XF_DISCOUNT_SENDER = "YKT_114";
+    /**
+     * 折扣管理能模块标识
+     */
+    public static final String XF_QUOTA_SENDER = "YKT_116";
+    /**
+     * 折扣管理能模块标识
+     */
+    public static final String XF_LIMITED_SENDER = "YKT_118";
     /**
      * 补助设置能模块标识
      */
@@ -154,14 +162,26 @@ public class MessageEventTypeConstants {
     /** 新增折扣设备 */
     public static final String	DISCOUNT_TERM_ADD = "YKT_114_DISCOUNT_TERM_ADD";
     /** 删除折扣设备 */
-    public static final String	DISCOUNT_TERM_DEL = "YKT_114_DISCOUNT_TERM_DEL";
+    public static final String	DISCOUNT_TERM_REMOVE = "YKT_114_DISCOUNT_TERM_REMOVE";
+    /** 限额规则新增 */
     public static final String	xfQuota_ADD = "YKT_116_ADD";
+    /** 限额规则修改 */
     public static final String	xfQuota_EDIT = "YKT_116_EDIT";
+    /** 限额规则删除 */
     public static final String	xfQuota_REMOVE = "YKT_116_REMOVE";
-    public static final String	xfQuotaterm_EDIT = "YKT_117_EDIT";
+    /** 限额设备新增 */
+    public static final String	QUOTA_TERM_ADD = "YKT_116_QUOTA_TERM_ADD";
+    /** 限额设备删除 */
+    public static final String	QUOTA_TERM_REMOVE = "YKT_116_QUOTA_TERM_REMOVE";
+    /** 限次规则新增 */
     public static final String	xfLimited_ADD = "YKT_118_ADD";
+    /** 限次规则修改 */
     public static final String	xfLimited_EDIT = "YKT_118_EDIT";
+    /** 限次规则删除 */
     public static final String	xfLimited_REMOVE = "YKT_118_REMOVE";
-    public static final String	xfLimitedterm_EDIT = "YKT_119_EDIT";
+    /** 限次设备新增 */
+    public static final String	LIMITED_TERM_ADD = "YKT_118_LIMITED_TERM_ADD";
+    /** 限次设备删除 */
+    public static final String	LIMITED_TERM_REMOVE = "YKT_118_LIMITED_TERM_REMOVE";
 
 }

+ 54 - 0
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/consumption/dubbo/RemoteXfLimitedServiceImpl.java

@@ -0,0 +1,54 @@
+package org.dromara.backstage.consumption.dubbo;
+
+import cn.hutool.core.bean.BeanUtil;
+import lombok.RequiredArgsConstructor;
+import org.apache.dubbo.config.annotation.DubboService;
+import org.dromara.backstage.api.RemoteXfLimitedService;
+import org.dromara.backstage.api.domain.bo.RemoteXfLimitedBo;
+import org.dromara.backstage.consumption.domain.bo.XfLimitedBo;
+import org.dromara.backstage.consumption.service.IXfLimitedService;
+import org.dromara.backstage.consumption.service.IXfLimitedtermService;
+import org.springframework.stereotype.Service;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * @author Hz
+ * {@code @date} 2024/11/4
+ * @description
+ */
+
+@RequiredArgsConstructor
+@Service
+@DubboService
+public class RemoteXfLimitedServiceImpl implements RemoteXfLimitedService {
+
+    private final IXfLimitedService limitedService;
+    private final IXfLimitedtermService limitedTermService;
+
+    @Override
+    public Boolean insertByBo(RemoteXfLimitedBo bo) throws Exception {
+        return limitedService.insertByBo(BeanUtil.copyProperties(bo, XfLimitedBo.class));
+    }
+
+    @Override
+    public Boolean updateByBo(RemoteXfLimitedBo bo) throws Exception {
+        return limitedService.updateByBo(BeanUtil.copyProperties(bo, XfLimitedBo.class));
+    }
+
+    @Override
+    public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) throws Exception {
+        return limitedService.deleteWithValidByIds(ids,isValid);
+    }
+
+    @Override
+    public Boolean addLimitedTerm(List<Long> ids) {
+        return limitedTermService.insertByTermIds(ids);
+    }
+
+    @Override
+    public Boolean deleteLimitedTerm(List<Long> ids) {
+        return limitedTermService.deleteWithValidByIds(ids,true);
+    }
+}

+ 52 - 0
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/consumption/dubbo/RemoteXfQuotaServiceImpl.java

@@ -0,0 +1,52 @@
+package org.dromara.backstage.consumption.dubbo;
+
+import cn.hutool.core.bean.BeanUtil;
+import lombok.RequiredArgsConstructor;
+import org.apache.dubbo.config.annotation.DubboService;
+import org.dromara.backstage.api.RemoteXfQuotaService;
+import org.dromara.backstage.api.domain.bo.RemoteXfQuotaBo;
+import org.dromara.backstage.consumption.domain.bo.XfQuotaBo;
+import org.dromara.backstage.consumption.service.IXfQuotaService;
+import org.dromara.backstage.consumption.service.IXfQuotatermService;
+import org.springframework.stereotype.Service;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * @author Hz
+ * {@code @date} 2024/11/4
+ * @description
+ */
+
+@RequiredArgsConstructor
+@Service
+@DubboService
+public class RemoteXfQuotaServiceImpl implements RemoteXfQuotaService {
+    private final IXfQuotaService xfQuotaService;
+    private final IXfQuotatermService xfQuotatermService;
+    @Override
+    public Boolean insertByBo(RemoteXfQuotaBo bo) throws Exception {
+        return xfQuotaService.insertByBo(BeanUtil.copyProperties(bo, XfQuotaBo.class));
+    }
+
+    @Override
+    public Boolean updateByBo(RemoteXfQuotaBo bo) throws Exception {
+        return xfQuotaService.updateByBo(BeanUtil.copyProperties(bo, XfQuotaBo.class));
+    }
+
+    @Override
+    public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) throws Exception {
+        return xfQuotaService.deleteWithValidByIds(ids,isValid);
+    }
+
+    @Override
+    public Boolean addQuotaTerm(List<Long> ids) {
+        return xfQuotatermService.insertByTermIds(ids);
+    }
+
+    @Override
+    public Boolean deleteQuotaTerm(List<Long> ids) {
+        return xfQuotatermService.deleteWithValidByIds(ids,true);
+    }
+}

+ 9 - 5
ruoyi-server/ruoyi-server-base/src/main/java/org/dromara/server/base/service/yktOperation/SyncRemotePtUserAccountService.java

@@ -6,12 +6,12 @@ import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.config.annotation.DubboReference;
 import org.dromara.backstage.api.RemoteUserAccountService;
-import org.dromara.backstage.api.domain.bo.RemoteUserAccountBo;
+import org.dromara.common.core.domain.R;
 import org.dromara.common.core.exception.ServiceException;
+import org.dromara.system.api.RemoteUserService;
+import org.dromara.system.api.domain.bo.RemoteUserBo;
 import org.springframework.stereotype.Service;
 
-import java.util.Arrays;
-
 /**
  * 结算账户同步
  */
@@ -22,6 +22,8 @@ public class SyncRemotePtUserAccountService {
 
     @DubboReference
     private final RemoteUserAccountService userAccountService;
+    @DubboReference
+    private final RemoteUserService userService;
 
     /**
      * 远程调用开户
@@ -85,9 +87,11 @@ public class SyncRemotePtUserAccountService {
     }
 
     /**
-     * 新增
+     * 新增
      */
     public void addUserAccount(Object msg) throws ServiceException{
-       userAccountService.insertByBo(JSONUtil.toBean(msg.toString(), RemoteUserAccountBo.class));
+        if(R.isError(userService.insertUser(JSONUtil.parseObj(msg).toBean(RemoteUserBo.class)))){
+            throw new ServiceException("新增用户失败");
+        }
     }
 }

+ 76 - 0
ruoyi-server/ruoyi-server-base/src/main/java/org/dromara/server/base/service/yktOperation/SyncRemoteXfLimitedService.java

@@ -0,0 +1,76 @@
+package org.dromara.server.base.service.yktOperation;
+
+import cn.hutool.json.JSONUtil;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.dubbo.config.annotation.DubboReference;
+import org.dromara.backstage.api.RemoteXfLimitedService;
+import org.dromara.backstage.api.RemoteXfQuotaService;
+import org.dromara.backstage.api.domain.bo.RemoteXfLimitedBo;
+import org.dromara.backstage.api.domain.bo.RemoteXfQuotaBo;
+import org.dromara.common.core.exception.ServiceException;
+import org.springframework.stereotype.Service;
+
+import java.util.Collection;
+
+/**
+ * 消费限次同步
+ */
+@Service
+@Slf4j
+@RequiredArgsConstructor
+public class SyncRemoteXfLimitedService {
+
+    @DubboReference
+    private final RemoteXfLimitedService limitedService;
+
+    /**
+     * 远程调用消费限次新增
+     */
+    public void addXfLimited(Object msg) throws Exception{
+        boolean flag = limitedService.insertByBo(JSONUtil.parseObj(msg).toBean(RemoteXfLimitedBo.class));
+        if (!flag){
+            throw new ServiceException("消费限次增失败");
+        }
+    }
+
+    /**
+     * 远程调用消费限次修改
+     */
+    public void editXfLimited(Object msg) throws Exception{
+        boolean flag = limitedService.updateByBo(JSONUtil.parseObj(msg).toBean(RemoteXfLimitedBo.class));
+        if (!flag){
+            throw new ServiceException("消费限次修改失败");
+        }
+    }
+
+    /**
+     * 远程调用消费限次删除
+     */
+    public void delXfLimited(Object msg) throws Exception{
+        Collection<Long> ids = JSONUtil.parseArray(msg).toBean(Collection.class);
+        boolean flag = limitedService.deleteWithValidByIds(ids,false);
+        if (!flag){
+            throw new ServiceException("消费限次删除失败");
+        }
+    }
+
+    /**
+     * 远程调用消费限次设备新增
+     */
+    public void addLimitedTerm(Object msg) throws ServiceException{
+        boolean flag = limitedService.addLimitedTerm(JSONUtil.parseArray(msg).toList(Long.class));
+        if (!flag){
+            throw new ServiceException("新增限次设备失败");
+        }
+    }
+    /**
+     * 远程调用消费限次设备删除
+     */
+    public void deleteLimitedTerm(Object msg) throws ServiceException{
+        boolean flag = limitedService.deleteLimitedTerm(JSONUtil.parseArray(msg).toList(Long.class));
+        if (!flag){
+            throw new ServiceException("删除限次设备失败");
+        }
+    }
+}

+ 76 - 0
ruoyi-server/ruoyi-server-base/src/main/java/org/dromara/server/base/service/yktOperation/SyncRemoteXfQuotaService.java

@@ -0,0 +1,76 @@
+package org.dromara.server.base.service.yktOperation;
+
+import cn.hutool.json.JSONUtil;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.dubbo.config.annotation.DubboReference;
+import org.dromara.backstage.api.RemoteXfDiscountService;
+import org.dromara.backstage.api.RemoteXfQuotaService;
+import org.dromara.backstage.api.domain.bo.RemoteXfDiscountBo;
+import org.dromara.backstage.api.domain.bo.RemoteXfQuotaBo;
+import org.dromara.common.core.exception.ServiceException;
+import org.springframework.stereotype.Service;
+
+import java.util.Collection;
+
+/**
+ * 消费限额同步
+ */
+@Service
+@Slf4j
+@RequiredArgsConstructor
+public class SyncRemoteXfQuotaService {
+
+    @DubboReference
+    private final RemoteXfQuotaService quotaService;
+
+    /**
+     * 远程调用消费限额新增
+     */
+    public void addXfQuota(Object msg) throws Exception{
+        boolean flag = quotaService.insertByBo(JSONUtil.parseObj(msg).toBean(RemoteXfQuotaBo.class));
+        if (!flag){
+            throw new ServiceException("消费限额增失败");
+        }
+    }
+
+    /**
+     * 远程调用消费限额修改
+     */
+    public void editXfQuota(Object msg) throws Exception{
+        boolean flag = quotaService.updateByBo(JSONUtil.parseObj(msg).toBean(RemoteXfQuotaBo.class));
+        if (!flag){
+            throw new ServiceException("消费限额修改失败");
+        }
+    }
+
+    /**
+     * 远程调用消费限额删除
+     */
+    public void delXfQuota(Object msg) throws Exception{
+        Collection<Long> ids = JSONUtil.parseArray(msg).toBean(Collection.class);
+        boolean flag = quotaService.deleteWithValidByIds(ids,false);
+        if (!flag){
+            throw new ServiceException("消费限额删除失败");
+        }
+    }
+
+    /**
+     * 远程调用消费限额设备新增
+     */
+    public void addQuotaTerm(Object msg) throws ServiceException{
+        boolean flag = quotaService.addQuotaTerm(JSONUtil.parseArray(msg).toList(Long.class));
+        if (!flag){
+            throw new ServiceException("新增限额设备失败");
+        }
+    }
+    /**
+     * 远程调用消费限额设备删除
+     */
+    public void deleteQuotaTerm(Object msg) throws ServiceException{
+        boolean flag = quotaService.deleteQuotaTerm(JSONUtil.parseArray(msg).toList(Long.class));
+        if (!flag){
+            throw new ServiceException("删除限额设备失败");
+        }
+    }
+}

+ 2 - 0
ruoyi-server/ruoyi-server-base/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports

@@ -17,3 +17,5 @@ org.dromara.server.base.service.yktOperation.SyncRemotePtUserAccountService
 org.dromara.server.base.service.yktOperation.SyncRemotePtCardCenterService
 org.dromara.server.base.service.yktOperation.SyncRemoteXfTermService
 org.dromara.server.base.service.yktOperation.SyncRemoteXfDiscountService
+org.dromara.server.base.service.yktOperation.SyncRemoteXfQuotaService
+org.dromara.server.base.service.yktOperation.SyncRemoteXfLimitedService

+ 1 - 1
ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/yktOperation/PtXfDiscountEventStrategyImpl.java

@@ -26,7 +26,7 @@ public class PtXfDiscountEventStrategyImpl implements IYktEventStrategy {
             case MessageEventTypeConstants.xfDiscount_EDIT -> discountService.editXfDiscount(msg);
             case MessageEventTypeConstants.xfDiscount_REMOVE -> discountService.delXfDiscount(msg);
             case MessageEventTypeConstants.DISCOUNT_TERM_ADD -> discountService.addDiscountTerm(msg);
-            case MessageEventTypeConstants.DISCOUNT_TERM_DEL -> discountService.deleteDiscountTerm(msg);
+            case MessageEventTypeConstants.DISCOUNT_TERM_REMOVE -> discountService.deleteDiscountTerm(msg);
             default -> log.info("未知事件");
 
         }

+ 36 - 0
ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/yktOperation/PtXfLimitedEventStrategyImpl.java

@@ -0,0 +1,36 @@
+package org.dromara.server.mq.event.kafka.impl.yktOperation;
+
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.dromara.common.message.kafka.constant.MessageEventTypeConstants;
+import org.dromara.server.base.service.yktOperation.SyncRemoteXfLimitedService;
+import org.dromara.server.base.service.yktOperation.SyncRemoteXfQuotaService;
+import org.dromara.server.mq.event.kafka.IYktEventStrategy;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author Hz
+ * @date 2024/10/29
+ * @description 限次管理同步策略
+ */
+@Slf4j
+@RequiredArgsConstructor
+@Service(MessageEventTypeConstants.XF_LIMITED_SENDER)
+public class PtXfLimitedEventStrategyImpl implements IYktEventStrategy {
+
+    private final SyncRemoteXfLimitedService limitedService;
+    @Override
+    public void doMsgHandle(String eventType, Object msg) throws Exception{
+
+        switch (eventType) {
+            case MessageEventTypeConstants.xfLimited_ADD -> limitedService.addXfLimited(msg);
+            case MessageEventTypeConstants.xfLimited_EDIT -> limitedService.editXfLimited(msg);
+            case MessageEventTypeConstants.xfLimited_REMOVE -> limitedService.delXfLimited(msg);
+            case MessageEventTypeConstants.LIMITED_TERM_ADD -> limitedService.addLimitedTerm(msg);
+            case MessageEventTypeConstants.LIMITED_TERM_REMOVE -> limitedService.deleteLimitedTerm(msg);
+            default -> log.info("未知事件");
+
+        }
+    }
+
+}

+ 36 - 0
ruoyi-server/ruoyi-server-mqdata/src/main/java/org/dromara/server/mq/event/kafka/impl/yktOperation/PtXfQuotaEventStrategyImpl.java

@@ -0,0 +1,36 @@
+package org.dromara.server.mq.event.kafka.impl.yktOperation;
+
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.dromara.common.message.kafka.constant.MessageEventTypeConstants;
+import org.dromara.server.base.service.yktOperation.SyncRemoteXfDiscountService;
+import org.dromara.server.base.service.yktOperation.SyncRemoteXfQuotaService;
+import org.dromara.server.mq.event.kafka.IYktEventStrategy;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author Hz
+ * @date 2024/10/29
+ * @description 限额管理同步策略
+ */
+@Slf4j
+@RequiredArgsConstructor
+@Service(MessageEventTypeConstants.XF_QUOTA_SENDER)
+public class PtXfQuotaEventStrategyImpl implements IYktEventStrategy {
+
+    private final SyncRemoteXfQuotaService quotaService;
+    @Override
+    public void doMsgHandle(String eventType, Object msg) throws Exception{
+
+        switch (eventType) {
+            case MessageEventTypeConstants.xfQuota_ADD -> quotaService.addXfQuota(msg);
+            case MessageEventTypeConstants.xfQuota_EDIT -> quotaService.editXfQuota(msg);
+            case MessageEventTypeConstants.xfQuota_REMOVE -> quotaService.delXfQuota(msg);
+            case MessageEventTypeConstants.QUOTA_TERM_ADD -> quotaService.addQuotaTerm(msg);
+            case MessageEventTypeConstants.QUOTA_TERM_REMOVE -> quotaService.deleteQuotaTerm(msg);
+            default -> log.info("未知事件");
+
+        }
+    }
+
+}