فهرست منبع

同步每日晨会表

mac 2 سال پیش
والد
کامیت
a47dee95f9
15فایلهای تغییر یافته به همراه420 افزوده شده و 18 حذف شده
  1. 33 13
      kxs-system/kxs-system-api/src/main/java/com/kxs/system/api/model/KxsMorning.java
  2. 56 0
      kxs-system/kxs-system-api/src/main/java/com/kxs/system/api/model/KxsMorningLog.java
  3. 17 0
      kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/mapper/KxsMorningLogMapper.java
  4. 15 0
      kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/service/KxsMorningLogService.java
  5. 19 0
      kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/service/impl/KxsMorningLogServiceImpl.java
  6. 12 0
      kxs-system/kxs-system-biz/src/main/resources/mapper/KxsMorningLogMapper.xml
  7. 4 1
      kxs-system/kxs-system-biz/src/main/resources/mapper/KxsMorningMapper.xml
  8. 10 0
      kxs-transfer/src/main/java/com/kxs/transfer/api/controller/DtsController.java
  9. 19 0
      kxs-transfer/src/main/java/com/kxs/transfer/api/mapper/sys/KxsMorningLogMapper.java
  10. 19 0
      kxs-transfer/src/main/java/com/kxs/transfer/api/mapper/sys/KxsMorningMapper.java
  11. 15 0
      kxs-transfer/src/main/java/com/kxs/transfer/api/service/sys/KxsMorningLogService.java
  12. 19 0
      kxs-transfer/src/main/java/com/kxs/transfer/api/service/sys/KxsMorningService.java
  13. 19 0
      kxs-transfer/src/main/java/com/kxs/transfer/api/service/sys/impl/KxsMorningLogServiceImpl.java
  14. 147 0
      kxs-transfer/src/main/java/com/kxs/transfer/api/service/sys/impl/KxsMorningServiceImpl.java
  15. 16 4
      kxs-transfer/src/main/resources/import.txt

+ 33 - 13
kxs-system/kxs-system-api/src/main/java/com/kxs/system/api/model/KxsMorning.java

@@ -5,10 +5,7 @@ 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.annotation.*;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
@@ -18,7 +15,7 @@ import lombok.EqualsAndHashCode;
  * 商学院晨会表(KxsMorning)表实体类
  *
  * @author 系统
- * @since 2023-12-15 12:16:31
+ * @since 2024-02-29 11:03:56
  */
 @EqualsAndHashCode(callSuper = true)
 @Data
@@ -56,8 +53,10 @@ public class KxsMorning extends Model<KxsMorning> implements Serializable {
     /**
      * 删除标记,0未删除,1已删除
      */
+    @TableLogic
+    @TableField(fill = FieldFill.INSERT)
     @Schema(description = "删除标记,0未删除,1已删除")
-    private String delFlag;
+    private Integer delFlag;
 
 
     /**
@@ -95,13 +94,6 @@ public class KxsMorning extends Model<KxsMorning> implements Serializable {
     private String title;
 
 
-    /**
-     * 是否已学习 0否 1是
-     */
-    @Schema(description = "是否已学习 0否 1是")
-    private Integer isStudy;
-
-
     /**
      * 开始时间
      */
@@ -123,6 +115,34 @@ public class KxsMorning extends Model<KxsMorning> implements Serializable {
     private String url;
 
 
+    /**
+     * 是否推荐
+     */
+    @Schema(description = "是否推荐")
+    private Boolean isBanner;
+
+
+    /**
+     * 推荐封面图
+     */
+    @Schema(description = "推荐封面图")
+    private String bannerPhoto;
+
+
+    /**
+     * 跳转APP链接
+     */
+    @Schema(description = "跳转APP链接")
+    private String appLink;
+
+
+    /**
+     * 小程序链接
+     */
+    @Schema(description = "小程序链接")
+    private String pageLink;
+
+
 
 
 }

+ 56 - 0
kxs-system/kxs-system-api/src/main/java/com/kxs/system/api/model/KxsMorningLog.java

@@ -0,0 +1,56 @@
+package com.kxs.system.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;
+
+/**
+ * 每日晨会日志表(KxsMorningLog)表实体类
+ *
+ * @author 系统
+ * @since 2024-02-29 11:03:58
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class KxsMorningLog extends Model<KxsMorningLog> implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    
+    
+    /**
+     * id
+     */
+    @Schema(description = "id")
+    private Integer id;
+
+
+    /**
+     * 用户ID
+     */
+    @Schema(description = "用户ID")
+    private Integer userId;
+
+
+    /**
+     * 晨会ID
+     */
+    @Schema(description = "晨会ID")
+    private Integer morningId;
+
+
+
+
+}
+

+ 17 - 0
kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/mapper/KxsMorningLogMapper.java

@@ -0,0 +1,17 @@
+package com.kxs.system.biz.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.kxs.system.api.model.KxsMorningLog;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 每日晨会日志表(KxsMorningLog)表数据库访问层
+ *
+ * @author 系统
+ * @since 2024-02-29 11:03:58
+ */
+@Mapper
+public interface KxsMorningLogMapper extends BaseMapper<KxsMorningLog> {
+
+}
+

+ 15 - 0
kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/service/KxsMorningLogService.java

@@ -0,0 +1,15 @@
+package com.kxs.system.biz.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.kxs.system.api.model.KxsMorningLog;
+
+/**
+ * 每日晨会日志表(KxsMorningLog)表服务接口
+ *
+ * @author 系统
+ * @since 2024-02-29 11:03:58
+ */
+public interface KxsMorningLogService extends IService<KxsMorningLog> {
+
+}
+

+ 19 - 0
kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/service/impl/KxsMorningLogServiceImpl.java

@@ -0,0 +1,19 @@
+package com.kxs.system.biz.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.kxs.system.biz.mapper.KxsMorningLogMapper;
+import com.kxs.system.api.model.KxsMorningLog;
+import com.kxs.system.biz.service.KxsMorningLogService;
+import org.springframework.stereotype.Service;
+
+/**
+ * 每日晨会日志表(KxsMorningLog)表服务实现类
+ *
+ * @author 系统
+ * @since 2024-02-29 11:03:58
+ */
+@Service("kxsMorningLogService")
+public class KxsMorningLogServiceImpl extends ServiceImpl<KxsMorningLogMapper, KxsMorningLog> implements KxsMorningLogService {
+
+}
+

+ 12 - 0
kxs-system/kxs-system-biz/src/main/resources/mapper/KxsMorningLogMapper.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.kxs.system.biz.mapper.KxsMorningLogMapper">
+
+    <resultMap type="com.kxs.system.api.model.KxsMorningLog" id="KxsMorningLogMap">
+        <result column="id" property="id" />
+        <result column="user_id" property="userId" />
+        <result column="morning_id" property="morningId" />
+
+    </resultMap>
+
+</mapper>

+ 4 - 1
kxs-system/kxs-system-biz/src/main/resources/mapper/KxsMorningMapper.xml

@@ -12,10 +12,13 @@
         <result column="lecturer" property="lecturer" />
         <result column="study_person" property="studyPerson" />
         <result column="title" property="title" />
-        <result column="is_study" property="isStudy" />
         <result column="start_date" property="startDate" />
         <result column="end_date" property="endDate" />
         <result column="url" property="url" />
+        <result column="is_banner" property="isBanner" />
+        <result column="banner_photo" property="bannerPhoto" />
+        <result column="app_link" property="appLink" />
+        <result column="page_link" property="pageLink" />
 
     </resultMap>
 

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

@@ -10,6 +10,8 @@ import com.kxs.transfer.api.model.table.DMLData;
 import com.kxs.transfer.api.service.KxsDtsErrorLogService;
 import com.kxs.transfer.api.service.KxsDtsLogService;
 import com.kxs.transfer.api.service.product.KxsShopGoodsService;
+import com.kxs.transfer.api.service.sys.KxsMorningLogService;
+import com.kxs.transfer.api.service.sys.KxsMorningService;
 import com.kxs.transfer.api.service.user.*;
 import com.kxs.user.api.model.KxsPartner;
 import lombok.RequiredArgsConstructor;
@@ -47,6 +49,7 @@ public class DtsController {
     private final KxsLeaderService kxsLeaderService;
     private final KxsLeaderAmountLogService kxsLeaderAmountLogService;
     private final KxsPartnerService kxsPartnerService;
+    private final KxsMorningService kxsMorningService;
 
     //产品模块
     private final KxsShopGoodsService kxsShopGoodsService;
@@ -148,6 +151,13 @@ public class DtsController {
             if ("Products".equals(dmlData.getTableName())) {
                 kxsShopGoodsService.changeData(dmlData);
             }
+            //每日晨会同步
+            if ("SchoolMorningMeet".equals(dmlData.getTableName())) {
+                kxsMorningService.changeData(dmlData);
+            }
+            if ("SchoolMorningMeetLog".equals(dmlData.getTableName())) {
+                kxsMorningService.changeLogData(dmlData);
+            }
 
 
             //存储历史数据

+ 19 - 0
kxs-transfer/src/main/java/com/kxs/transfer/api/mapper/sys/KxsMorningLogMapper.java

@@ -0,0 +1,19 @@
+package com.kxs.transfer.api.mapper.sys;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.kxs.system.api.model.KxsMorningLog;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 每日晨会日志表(KxsMorningLog)表数据库访问层
+ *
+ * @author 系统
+ * @since 2024-02-29 11:03:58
+ */
+@Mapper
+@DS("sys")
+public interface KxsMorningLogMapper extends BaseMapper<KxsMorningLog> {
+
+}
+

+ 19 - 0
kxs-transfer/src/main/java/com/kxs/transfer/api/mapper/sys/KxsMorningMapper.java

@@ -0,0 +1,19 @@
+package com.kxs.transfer.api.mapper.sys;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.kxs.system.api.model.KxsMorning;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 商学院晨会表(KxsMorning)表数据库访问层
+ *
+ * @author 系统
+ * @since 2023-12-15 12:16:31
+ */
+@Mapper
+@DS("sys")
+public interface KxsMorningMapper extends BaseMapper<KxsMorning> {
+
+}
+

+ 15 - 0
kxs-transfer/src/main/java/com/kxs/transfer/api/service/sys/KxsMorningLogService.java

@@ -0,0 +1,15 @@
+package com.kxs.transfer.api.service.sys;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.kxs.system.api.model.KxsMorningLog;
+
+/**
+ * 每日晨会日志表(KxsMorningLog)表服务接口
+ *
+ * @author 系统
+ * @since 2024-02-29 11:03:58
+ */
+public interface KxsMorningLogService extends IService<KxsMorningLog> {
+
+}
+

+ 19 - 0
kxs-transfer/src/main/java/com/kxs/transfer/api/service/sys/KxsMorningService.java

@@ -0,0 +1,19 @@
+package com.kxs.transfer.api.service.sys;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.kxs.system.api.model.KxsMorning;
+import com.kxs.transfer.api.model.table.DMLData;
+
+/**
+ * 商学院晨会表(KxsMorning)表服务接口
+ *
+ * @author 系统
+ * @since 2023-12-15 12:16:31
+ */
+public interface KxsMorningService extends IService<KxsMorning> {
+
+    void changeData(DMLData dmlData);
+
+    void changeLogData(DMLData dmlData);
+}
+

+ 19 - 0
kxs-transfer/src/main/java/com/kxs/transfer/api/service/sys/impl/KxsMorningLogServiceImpl.java

@@ -0,0 +1,19 @@
+package com.kxs.transfer.api.service.sys.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.kxs.system.api.model.KxsMorningLog;
+import com.kxs.transfer.api.mapper.sys.KxsMorningLogMapper;
+import com.kxs.transfer.api.service.sys.KxsMorningLogService;
+import org.springframework.stereotype.Service;
+
+/**
+ * 每日晨会日志表(KxsMorningLog)表服务实现类
+ *
+ * @author 系统
+ * @since 2024-02-29 11:03:58
+ */
+@Service("kxsMorningLogService")
+public class KxsMorningLogServiceImpl extends ServiceImpl<KxsMorningLogMapper, KxsMorningLog> implements KxsMorningLogService {
+
+}
+

+ 147 - 0
kxs-transfer/src/main/java/com/kxs/transfer/api/service/sys/impl/KxsMorningServiceImpl.java

@@ -0,0 +1,147 @@
+package com.kxs.transfer.api.service.sys.impl;
+
+import cn.hutool.core.date.DatePattern;
+import cn.hutool.core.date.LocalDateTimeUtil;
+import com.aliyun.dts.subscribe.clients.record.OperationType;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.kxs.system.api.model.KxsMorning;
+import com.kxs.system.api.model.KxsMorningLog;
+import com.kxs.transfer.api.mapper.sys.KxsMorningLogMapper;
+import com.kxs.transfer.api.mapper.sys.KxsMorningMapper;
+import com.kxs.transfer.api.model.table.DMLData;
+import com.kxs.transfer.api.service.sys.KxsMorningService;
+import com.kxs.user.api.model.KxsLeader;
+import com.kxs.user.api.model.KxsPartner;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 商学院晨会表(KxsMorning)表服务实现类
+ *
+ * @author 系统
+ * @since 2023-12-15 12:16:31
+ */
+@Service("kxsMorningService")
+@RequiredArgsConstructor
+public class KxsMorningServiceImpl extends ServiceImpl<KxsMorningMapper, KxsMorning> implements KxsMorningService {
+
+    private final KxsMorningLogMapper kxsMorningLogMapper;
+    @Override
+    public void changeData(DMLData dmlData) {
+        //修改的字段值
+        Map<String, Object> validFieldDataMap = dmlData.getValidFieldDataMap();
+        //修改的字段
+        List<String> changeFieldList = dmlData.getChangeFieldList();
+        //操作的主键
+        int id = Integer.parseInt(dmlData.getId());
+
+        KxsMorning morning = new KxsMorning();
+        morning.setId(id);
+
+        //操作类型
+        OperationType operation = dmlData.getOperation();
+        for (String field : changeFieldList) {
+
+            switch (field) {
+                case "StudyPerson":
+                    morning.setStudyPerson(Integer.parseInt(validFieldDataMap.get(field).toString()));
+                    break;
+                case "Status":
+                    morning.setDelFlag(Integer.parseInt(validFieldDataMap.get(field).toString()));
+                    break;
+                case "IsBanner":
+                    morning.setIsBanner(Boolean.valueOf(validFieldDataMap.get(field).toString()));
+                    break;
+                case "Title":
+                    morning.setTitle(validFieldDataMap.get(field).toString());
+                    break;
+                case "Photo":
+                    morning.setPhoto(validFieldDataMap.get(field).toString());
+                    break;
+                case "Lecturer":
+                    morning.setLecturer(validFieldDataMap.get(field).toString());
+                    break;
+                case "SeoDescription":
+                    morning.setUrl(validFieldDataMap.get(field).toString());
+                    break;
+                case "Url":
+                    morning.setAppLink(validFieldDataMap.get(field).toString());
+                    break;
+                case "SeoKeyword":
+                    morning.setPageLink(validFieldDataMap.get(field).toString());
+                    break;
+                case "BannerPhoto":
+                    morning.setBannerPhoto(validFieldDataMap.get(field).toString());
+                    break;
+                case "CreateDate":
+                    morning.setCreateTime(LocalDateTimeUtil.parse(validFieldDataMap.get(field).toString(), DatePattern.NORM_DATETIME_PATTERN));
+                    break;
+                case "UpdateDate":
+                    morning.setUpdateTime(LocalDateTimeUtil.parse(validFieldDataMap.get(field).toString(), DatePattern.NORM_DATETIME_PATTERN));
+                    break;
+            }
+        }
+        if(morning.getDelFlag() != null && morning.getDelFlag() == -1){
+            baseMapper.deleteById(morning.getId());
+            return;
+        }
+        if(operation.equals(OperationType.UPDATE)){
+            // 更新数据
+            baseMapper.updateById(morning);
+        }
+        if(operation.equals(OperationType.INSERT)){
+            KxsMorning kxsMorning = baseMapper.selectById(morning.getId());
+            if (kxsMorning != null){
+                baseMapper.updateById(morning);
+            }else{
+                // 插入数据
+                baseMapper.insert(morning);
+            }
+        }
+    }
+
+    @Override
+    public void changeLogData(DMLData dmlData) {
+        //修改的字段值
+        Map<String, Object> validFieldDataMap = dmlData.getValidFieldDataMap();
+        //修改的字段
+        List<String> changeFieldList = dmlData.getChangeFieldList();
+        //操作的主键
+        int id = Integer.parseInt(dmlData.getId());
+
+        KxsMorningLog morningLog = new KxsMorningLog();
+        morningLog.setId(id);
+
+        //操作类型
+        OperationType operation = dmlData.getOperation();
+        for (String field : changeFieldList) {
+
+            switch (field) {
+                case "UserId":
+                    morningLog.setUserId(Integer.parseInt(validFieldDataMap.get(field).toString()));
+                    break;
+                case "MeetId":
+                    morningLog.setMorningId(Integer.parseInt(validFieldDataMap.get(field).toString()));
+                    break;
+            }
+        }
+
+        if(operation.equals(OperationType.UPDATE)){
+            // 更新数据
+            kxsMorningLogMapper.updateById(morningLog);
+        }
+        if(operation.equals(OperationType.INSERT)){
+            KxsMorningLog kxsMorningLog = kxsMorningLogMapper.selectById(morningLog.getId());
+            if (kxsMorningLog != null){
+                kxsMorningLogMapper.updateById(morningLog);
+            }else{
+                // 插入数据
+                kxsMorningLogMapper.insert(morningLog);
+            }
+        }
+    }
+}
+

+ 16 - 4
kxs-transfer/src/main/resources/import.txt

@@ -69,7 +69,7 @@ SourceUserId as source_user_id, OrderId as order_id, CASE ChangeType WHEN 1 THEN
 FROM LeaderReserveRecord
 
 //合伙人表
-SELECT a.Id as id, a.Id as user_id, CASE a.UserType WHEN 1 THEN 0 WHEN 2 THEN 1 END partner_type, 9 as partner_level,
+SELECT a.Id as id, a.Id as user_id, a.UserType -1 as  partner_type, 9 as partner_level,
 b.CreateDate as create_time, b.UpdateDate as expired_date,
 c.ValidForGetAmount as withdrawal_amount, c.TotalAmt as amount, c.ValidAmount as store_amount
 FROM Users a left join OperatorRankWhite b on a.Id = b.UserId
@@ -81,12 +81,24 @@ SELECT Id as id, CreateDate as create_time, UpdateDate as update_time,
 CASE ProductKind WHEN 1 THEN 0 ELSE 1 END goods_type, ListPicPath as pic_url, Sort as sort, Status as status, SUBSTRING_INDEX(NormJson, '#cut#', 1) as spec_list,
 ProductName as goods_name, Details as subtitle, Contents as details, ColId as col_id, Price as price, PublishDate as up_time, LimitCount as limit_count, StartBuyCount as start_by_count
 FROM Products
--- 商品图片
+
+// 商品图片
 SELECT Id as id, CreateDate as create_time, UpdateDate as update_time,
 ListPicPath as url, Id as goods_id
 FROM Products
 
--- 商品SKU
+// 商品SKU
 SELECT a.Id as id, a.CreateDate as create_time, a.UpdateDate as update_time, a.ProductId as goods_id, b.NormJson as specifications,
 a.Price as price, a.Stock as stock_num, a.BuyCount as sales, a.LimitCount as limit_count, a.StartBuyCount as start_by_count
-FROM ProductNorm a left join Products b on a.ProductId = b.id
+FROM ProductNorm a left join Products b on a.ProductId = b.id
+
+//每日晨会表
+SELECT
+Id as id, CreateDate as create_time, UpdateDate as update_time,
+Title as title, Photo as photo, Lecturer as lecturer, StudyPerson as study_person, SeoDescription as url, Url as app_link, SeoKeyword as page_link, IsBanner as is_banner, BannerPhoto as banner_photo
+from SchoolMorningMeet where status > -1
+------
+SELECT
+Id as id, UserId as user_id, MeetId as morning_id
+from SchoolMorningMeetLog
+