Browse Source

盟主兑换明细记录表

mac 2 years ago
parent
commit
550f903a9b

+ 7 - 0
kxs-transfer/src/main/java/com/kxs/transfer/api/controller/DtsController.java

@@ -72,6 +72,7 @@ public class DtsController {
     private final KxsUserByStageService kxsUserByStageService;
     private final KxsLeaderAmountLogService kxsLeaderAmountLogService;
     private final KxsLeaderAccountLogService kxsLeaderAccountLogService;
+    private final KxsLeaderByOrderService kxsLeaderByOrderService;
     private final KxsUserReRealService kxsUserReRealService;
     private final KxsUserPresetBeforeService kxsUserPresetBeforeService;
 
@@ -200,6 +201,12 @@ public class DtsController {
                 kxsLeaderAmountLogService.changeData(dmlData);
                 //盟主运营中心合并的新表,此表只同步盟主储蓄金
                 kxsLeaderAccountLogService.changeData(dmlData);
+                //盟主兑换券记录表
+                kxsLeaderByOrderService.changeData(dmlData);
+            }
+            //盟主兑换记录明细
+            if ("UserSnDelayChange".equals(dmlData.getTableName())) {
+                kxsLeaderByOrderService.changeInfoData(dmlData);
             }
             //盟主可提现金额变动记录表
             if ("LeaderAccountRecord".equals(dmlData.getTableName())) {

+ 17 - 0
kxs-transfer/src/main/java/com/kxs/transfer/api/mapper/user/KxsLeaderByOrderInfoMapper.java

@@ -0,0 +1,17 @@
+package com.kxs.transfer.api.mapper.user;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.kxs.user.api.model.KxsLeaderByOrderInfo;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 盟主兑换记录券(KxsLeaderByOrderInfo)表数据库访问层
+ *
+ * @author 系统
+ * @since 2024-07-18 14:51:15
+ */
+@Mapper
+public interface KxsLeaderByOrderInfoMapper extends BaseMapper<KxsLeaderByOrderInfo> {
+
+}
+

+ 17 - 0
kxs-transfer/src/main/java/com/kxs/transfer/api/mapper/user/KxsLeaderByOrderMapper.java

@@ -0,0 +1,17 @@
+package com.kxs.transfer.api.mapper.user;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.kxs.user.api.model.KxsLeaderByOrder;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 盟主兑换订单表(KxsLeaderByOrder)表数据库访问层
+ *
+ * @author 系统
+ * @since 2024-07-18 14:51:20
+ */
+@Mapper
+public interface KxsLeaderByOrderMapper extends BaseMapper<KxsLeaderByOrder> {
+
+}
+

+ 120 - 0
kxs-transfer/src/main/java/com/kxs/transfer/api/service/user/KxsLeaderByOrderService.java

@@ -0,0 +1,120 @@
+package com.kxs.transfer.api.service.user;
+
+import cn.hutool.core.date.DatePattern;
+import cn.hutool.core.date.LocalDateTimeUtil;
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.aliyun.dts.subscribe.clients.record.OperationType;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.kxs.common.core.constant.enums.KindTypeEnum;
+import com.kxs.transfer.api.mapper.user.KxsLeaderByOrderInfoMapper;
+import com.kxs.transfer.api.mapper.user.KxsLeaderByOrderMapper;
+import com.kxs.transfer.api.model.table.DMLData;
+import com.kxs.transfer.api.model.table.FieldData;
+import com.kxs.user.api.model.KxsChangeTypeKind;
+import com.kxs.user.api.model.KxsLeaderAccountLog;
+import com.kxs.user.api.model.KxsLeaderByOrder;
+import com.kxs.user.api.model.KxsLeaderByOrderInfo;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import javax.json.JsonObject;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 盟主兑换订单表(KxsLeaderByOrder)表服务实现类
+ *
+ * @author 系统
+ * @since 2024-07-18 14:51:20
+ */
+@Service("kxsLeaderByOrderService")
+@RequiredArgsConstructor
+public class KxsLeaderByOrderService extends ServiceImpl<KxsLeaderByOrderMapper, KxsLeaderByOrder> {
+
+    private final KxsLeaderByOrderInfoMapper kxsLeaderByOrderInfoMapper;
+
+
+    public void changeData(DMLData dmlData) {
+
+        //修改的字段值
+        Map<String, Object> validFieldDataMap = dmlData.getValidFieldDataMap();
+        Map<String, FieldData> fieldDataMap = dmlData.getFieldDataMap();
+
+        //修改的字段
+        List<String> changeFieldList = dmlData.getChangeFieldList();
+        //操作的主键
+        int id = Integer.parseInt(dmlData.getId());
+
+        KxsLeaderByOrder byOrder = new KxsLeaderByOrder();
+        byOrder.setId(id);
+        //操作类型
+        OperationType operation = dmlData.getOperation();
+        if (operation.equals(OperationType.DELETE) || operation.equals(OperationType.UPDATE)) {
+            return;
+        }
+        if (fieldDataMap.get("Remark").getValue() != null) {
+            String remark = fieldDataMap.get("Remark").getValue().toString();
+            if (!"兑换机具券".equals(remark)) {
+                return;
+            }
+            byOrder.setOrderSn(fieldDataMap.get("SeoKeyword").getValue().toString());
+        }
+        if (fieldDataMap.get("SeoTitle").getValue() != null) {
+            String string = fieldDataMap.get("SeoTitle").getValue().toString();
+            String seoKeyword = fieldDataMap.get("SeoKeyword").getValue().toString();
+            Integer userId = Integer.valueOf(fieldDataMap.get("UserId").getValue().toString());
+            JSONArray jsonArray = JSON.parseArray(string);
+            List<JSONObject> applyData = new ArrayList<>();
+            int total = 0;
+            for (Object data : jsonArray) {
+                JSONObject jsonObject = (JSONObject) data;
+                JSONObject apply = new JSONObject();
+                apply.put("num",jsonObject.get("Num"));
+                apply.put("type",jsonObject.get("Type"));
+                applyData.add(apply);
+                total = total + jsonObject.getInteger("Num");
+            }
+            byOrder.setUserId(userId);
+            byOrder.setByNum(total);
+            byOrder.setByData(JSON.toJSONString(applyData));
+            byOrder.setOrderSn(seoKeyword);
+
+            baseMapper.insert(byOrder);
+        }
+
+
+
+    }
+
+    public void changeInfoData(DMLData dmlData) {
+
+        Map<String, FieldData> fieldDataMap = dmlData.getFieldDataMap();
+
+        KxsLeaderByOrderInfo byOrderInfo = new KxsLeaderByOrderInfo();
+        //操作类型
+        OperationType operation = dmlData.getOperation();
+        if (operation.equals(OperationType.DELETE) || operation.equals(OperationType.UPDATE)) {
+            return;
+        }
+        if (fieldDataMap.get("QueryCount").getValue() != null) {
+            Integer orderId = Integer.valueOf(fieldDataMap.get("QueryCount").getValue().toString());
+            String code = fieldDataMap.get("SnNo").getValue().toString();
+            byOrderInfo.setOrderId(orderId);
+            byOrderInfo.setTicketCode(code);
+            KxsLeaderByOrder byOrder = baseMapper.selectById(orderId);
+            if (byOrder != null) {
+                byOrderInfo.setUserId(byOrder.getUserId());
+            }
+
+            kxsLeaderByOrderInfoMapper.insert(byOrderInfo);
+        }
+
+    }
+}
+

+ 101 - 0
kxs-user/kxs-user-api/src/main/java/com/kxs/user/api/model/KxsLeaderByOrder.java

@@ -0,0 +1,101 @@
+package com.kxs.user.api.model;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 盟主兑换订单表(KxsLeaderByOrder)表实体类
+ *
+ * @author 系统
+ * @since 2024-07-18 14:51:20
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class KxsLeaderByOrder extends Model<KxsLeaderByOrder> implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    
+    
+    /**
+     * 主键ID
+     */
+    @Schema(description = "主键ID")
+    @TableId(type = IdType.AUTO)
+    private Integer id;
+
+
+    /**
+     * 新增时间
+     */
+    @TableField(fill = FieldFill.INSERT)
+    @Schema(description = "新增时间")
+    private LocalDateTime createTime;
+
+
+    /**
+     * 更新时间
+     */
+    @TableField(fill = FieldFill.UPDATE)
+    @Schema(description = "更新时间")
+    private LocalDateTime updateTime;
+
+
+    /**
+     * 删除标记,0未删除,1已删除
+     */
+    @Schema(description = "删除标记,0未删除,1已删除")
+    private String delFlag;
+
+
+    /**
+     * 版本
+     */
+    @Schema(description = "版本")
+    private Integer version;
+
+
+    /**
+     * 订单号
+     */
+    @Schema(description = "订单号")
+    private String orderSn;
+
+
+    /**
+     * 兑换数量
+     */
+    @Schema(description = "兑换数量")
+    private Integer byNum;
+
+
+    /**
+     * 兑换数量和类型的明细
+     */
+    @Schema(description = "兑换数量和类型的明细")
+    private String byData;
+
+
+    /**
+     * 用户ID
+     */
+    @Schema(description = "用户ID")
+    private Integer userId;
+
+
+
+
+}
+

+ 102 - 0
kxs-user/kxs-user-api/src/main/java/com/kxs/user/api/model/KxsLeaderByOrderInfo.java

@@ -0,0 +1,102 @@
+package com.kxs.user.api.model;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 盟主兑换记录券(KxsLeaderByOrderInfo)表实体类
+ *
+ * @author 系统
+ * @since 2024-07-18 14:51:15
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class KxsLeaderByOrderInfo extends Model<KxsLeaderByOrderInfo> implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    
+    
+    /**
+     * 主键ID
+     */
+    @Schema(description = "主键ID")
+    @TableId(type = IdType.AUTO)
+    private Integer id;
+
+
+    /**
+     * 新增时间
+     */
+    @TableField(fill = FieldFill.INSERT)
+    @Schema(description = "新增时间")
+    private LocalDateTime createTime;
+
+
+    /**
+     * 更新时间
+     */
+    @TableField(fill = FieldFill.UPDATE)
+    @Schema(description = "更新时间")
+    private LocalDateTime updateTime;
+
+
+    /**
+     * 删除标记,0未删除,1已删除
+     */
+    @Schema(description = "删除标记,0未删除,1已删除")
+    private String delFlag;
+
+
+    /**
+     * 版本
+     */
+    @Schema(description = "版本")
+    private Integer version;
+
+
+    /**
+     * 用户ID
+     */
+    @Schema(description = "用户ID")
+    private Integer userId;
+
+
+    /**
+     * 机具券
+     */
+    @Schema(description = "机具券")
+    private String ticketCode;
+
+
+    /**
+     * 类型 0电签 1大pos
+     */
+    @Schema(description = "类型 0电签 1大pos")
+    @Deprecated
+    private Integer brandType;
+
+
+    /**
+     * 订单ID
+     */
+    @Schema(description = "订单ID")
+    private Integer orderId;
+
+
+
+
+}
+

+ 17 - 0
kxs-user/kxs-user-biz/src/main/java/com/kxs/user/biz/mapper/KxsLeaderByOrderInfoMapper.java

@@ -0,0 +1,17 @@
+package com.kxs.user.biz.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.kxs.user.api.model.KxsLeaderByOrderInfo;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 盟主兑换记录券(KxsLeaderByOrderInfo)表数据库访问层
+ *
+ * @author 系统
+ * @since 2024-07-18 14:51:15
+ */
+@Mapper
+public interface KxsLeaderByOrderInfoMapper extends BaseMapper<KxsLeaderByOrderInfo> {
+
+}
+

+ 17 - 0
kxs-user/kxs-user-biz/src/main/java/com/kxs/user/biz/mapper/KxsLeaderByOrderMapper.java

@@ -0,0 +1,17 @@
+package com.kxs.user.biz.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.kxs.user.api.model.KxsLeaderByOrder;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 盟主兑换订单表(KxsLeaderByOrder)表数据库访问层
+ *
+ * @author 系统
+ * @since 2024-07-18 14:51:20
+ */
+@Mapper
+public interface KxsLeaderByOrderMapper extends BaseMapper<KxsLeaderByOrder> {
+
+}
+

+ 15 - 0
kxs-user/kxs-user-biz/src/main/java/com/kxs/user/biz/service/KxsLeaderByOrderInfoService.java

@@ -0,0 +1,15 @@
+package com.kxs.user.biz.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.kxs.user.api.model.KxsLeaderByOrderInfo;
+
+/**
+ * 盟主兑换记录券(KxsLeaderByOrderInfo)表服务接口
+ *
+ * @author 系统
+ * @since 2024-07-18 14:51:16
+ */
+public interface KxsLeaderByOrderInfoService extends IService<KxsLeaderByOrderInfo> {
+
+}
+

+ 15 - 0
kxs-user/kxs-user-biz/src/main/java/com/kxs/user/biz/service/KxsLeaderByOrderService.java

@@ -0,0 +1,15 @@
+package com.kxs.user.biz.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.kxs.user.api.model.KxsLeaderByOrder;
+
+/**
+ * 盟主兑换订单表(KxsLeaderByOrder)表服务接口
+ *
+ * @author 系统
+ * @since 2024-07-18 14:51:20
+ */
+public interface KxsLeaderByOrderService extends IService<KxsLeaderByOrder> {
+
+}
+

+ 19 - 0
kxs-user/kxs-user-biz/src/main/java/com/kxs/user/biz/service/impl/KxsLeaderByOrderInfoServiceImpl.java

@@ -0,0 +1,19 @@
+package com.kxs.user.biz.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.kxs.user.biz.mapper.KxsLeaderByOrderInfoMapper;
+import com.kxs.user.api.model.KxsLeaderByOrderInfo;
+import com.kxs.user.biz.service.KxsLeaderByOrderInfoService;
+import org.springframework.stereotype.Service;
+
+/**
+ * 盟主兑换记录券(KxsLeaderByOrderInfo)表服务实现类
+ *
+ * @author 系统
+ * @since 2024-07-18 14:51:16
+ */
+@Service("kxsLeaderByOrderInfoService")
+public class KxsLeaderByOrderInfoServiceImpl extends ServiceImpl<KxsLeaderByOrderInfoMapper, KxsLeaderByOrderInfo> implements KxsLeaderByOrderInfoService {
+
+}
+

+ 19 - 0
kxs-user/kxs-user-biz/src/main/java/com/kxs/user/biz/service/impl/KxsLeaderByOrderServiceImpl.java

@@ -0,0 +1,19 @@
+package com.kxs.user.biz.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.kxs.user.biz.mapper.KxsLeaderByOrderMapper;
+import com.kxs.user.api.model.KxsLeaderByOrder;
+import com.kxs.user.biz.service.KxsLeaderByOrderService;
+import org.springframework.stereotype.Service;
+
+/**
+ * 盟主兑换订单表(KxsLeaderByOrder)表服务实现类
+ *
+ * @author 系统
+ * @since 2024-07-18 14:51:20
+ */
+@Service("kxsLeaderByOrderService")
+public class KxsLeaderByOrderServiceImpl extends ServiceImpl<KxsLeaderByOrderMapper, KxsLeaderByOrder> implements KxsLeaderByOrderService {
+
+}
+

+ 18 - 0
kxs-user/kxs-user-biz/src/main/resources/mapper/KxsLeaderByOrderInfoMapper.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.kxs.user.biz.mapper.KxsLeaderByOrderInfoMapper">
+
+    <resultMap type="com.kxs.user.api.model.KxsLeaderByOrderInfo" id="KxsLeaderByOrderInfoMap">
+        <result column="id" property="id" />
+        <result column="create_time" property="createTime" />
+        <result column="update_time" property="updateTime" />
+        <result column="del_flag" property="delFlag" />
+        <result column="version" property="version" />
+        <result column="user_id" property="userId" />
+        <result column="ticket_code" property="ticketCode" />
+        <result column="brand_type" property="brandType" />
+        <result column="order_id" property="orderId" />
+
+    </resultMap>
+
+</mapper>

+ 18 - 0
kxs-user/kxs-user-biz/src/main/resources/mapper/KxsLeaderByOrderMapper.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.kxs.user.biz.mapper.KxsLeaderByOrderMapper">
+
+    <resultMap type="com.kxs.user.api.model.KxsLeaderByOrder" id="KxsLeaderByOrderMap">
+        <result column="id" property="id" />
+        <result column="create_time" property="createTime" />
+        <result column="update_time" property="updateTime" />
+        <result column="del_flag" property="delFlag" />
+        <result column="version" property="version" />
+        <result column="order_sn" property="orderSn" />
+        <result column="by_num" property="byNum" />
+        <result column="by_data" property="byData" />
+        <result column="user_id" property="userId" />
+
+    </resultMap>
+
+</mapper>