From 1e4cab335b1cb68ad3438e522ea410c2d2e753ed Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Tue, 07 Sep 2021 14:54:16 +0800
Subject: [PATCH] data_move

---
 src/main/java/com/xcong/excoin/modules/datamove/entity/BaseEntity.java           |   28 ++
 src/main/java/com/xcong/excoin/modules/datamove/dao/ScoreExpressInfoMapper.java  |    8 
 src/main/resources/mapper/datamove/JhyOrderItemsMapper.xml                       |    5 
 src/main/java/com/xcong/excoin/modules/datamove/dao/JhyOrderItemsMapper.java     |    7 
 pom.xml                                                                          |   14 
 src/main/java/com/xcong/excoin/modules/datamove/dao/ScoreDetailsMapper.java      |    7 
 src/test/java/com/xcong/excoin/dataMoveTest.java                                 |   49 +++
 src/main/java/com/xcong/excoin/modules/datamove/DataMoveService.java             |  243 ++++++++++++++++++
 src/main/java/com/xcong/excoin/modules/datamove/dao/JhyInfoMapper.java           |   11 
 src/main/resources/mapper/datamove/JhyOrderMapper.xml                            |    5 
 src/main/java/com/xcong/excoin/modules/datamove/entity/ScoreOrderDetails.java    |   35 ++
 src/main/java/com/xcong/excoin/modules/datamove/entity/ScoreDetails.java         |   36 ++
 src/main/java/com/xcong/excoin/modules/datamove/entity/ScoreOrder.java           |   47 +++
 src/main/resources/mapper/datamove/ScoreOrderMapper.xml                          |    5 
 src/main/resources/mapper/datamove/ScoreDetailsMapper.xml                        |    5 
 src/main/java/com/xcong/excoin/modules/datamove/entity/JhyOrder.java             |   73 +++++
 src/main/resources/mapper/datamove/JhyInfoMapper.xml                             |    5 
 src/main/java/com/xcong/excoin/modules/datamove/dao/ScoreOrderDetailsMapper.java |    7 
 src/main/java/com/xcong/excoin/modules/datamove/dao/ScoreOrderMapper.java        |    7 
 src/main/resources/application-test.yml                                          |   24 +
 src/main/java/com/xcong/excoin/modules/datamove/entity/JhyInfo.java              |   44 +++
 src/main/java/com/xcong/excoin/modules/datamove/entity/ScoreExpressInfo.java     |   28 ++
 src/main/java/com/xcong/excoin/modules/datamove/dao/JhyOrderMapper.java          |    7 
 src/main/java/com/xcong/excoin/modules/datamove/entity/JhyOrderItems.java        |   42 +++
 src/main/resources/application.yml                                               |   31 +
 25 files changed, 749 insertions(+), 24 deletions(-)

diff --git a/pom.xml b/pom.xml
index 2b52ce0..daa219c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -19,7 +19,7 @@
         <mysql-driver.version>8.0.17</mysql-driver.version>
         <alibaba-druid.version>1.1.18</alibaba-druid.version>
         <mybatis.version>2.0.1</mybatis.version>
-        <mybatis-plus.version>3.3.1.tmp</mybatis-plus.version>
+        <mybatis-plus.version>3.3.0</mybatis-plus.version>
         <validation-api.version>2.0.1.Final</validation-api.version>
         <hibernate-validator.version>6.1.0.Final</hibernate-validator.version>
         <swagger.version>2.9.2</swagger.version>
@@ -77,12 +77,6 @@
             <artifactId>spring-boot-starter-amqp</artifactId>
         </dependency>
 
-<!--        <dependency>-->
-<!--            <groupId>org.springframework.security</groupId>-->
-<!--            <artifactId>spring-security-test</artifactId>-->
-<!--            <scope>test</scope>-->
-<!--        </dependency>-->
-
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-data-redis</artifactId>
@@ -124,6 +118,12 @@
         </dependency>
 
         <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
+            <version>3.0.0</version>
+        </dependency>
+
+        <dependency>
             <groupId>com.alibaba</groupId>
             <artifactId>druid-spring-boot-starter</artifactId>
             <version>${alibaba-druid.version}</version>
diff --git a/src/main/java/com/xcong/excoin/modules/datamove/DataMoveService.java b/src/main/java/com/xcong/excoin/modules/datamove/DataMoveService.java
new file mode 100644
index 0000000..55b0364
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/datamove/DataMoveService.java
@@ -0,0 +1,243 @@
+package com.xcong.excoin.modules.datamove;
+
+import cn.hutool.core.convert.Convert;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.lang.Snowflake;
+import cn.hutool.core.util.IdUtil;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.xcong.excoin.modules.datamove.dao.*;
+import com.xcong.excoin.modules.datamove.entity.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author wzy
+ * @date 2021-07-01
+ **/
+@Service
+public class DataMoveService {
+
+    @Autowired
+    private JdbcTemplate jdbcTemplate;
+
+    @Autowired
+    private JhyInfoMapper jhyInfoMapper;
+
+    @Autowired
+    private JhyOrderMapper jhyOrderMapper;
+
+    @Autowired
+    private JhyOrderItemsMapper jhyOrderItemsMapper;
+
+    public <T> T mapToBane(Map<String, Object> map, Class<T> t) {
+        String s = JSONObject.toJSONString(map);
+        return JSONObject.parseObject(s, t);
+    }
+
+    @DS("slave")
+    public List<Map<String, Object>> oldJhyTest() {
+        return jdbcTemplate.queryForList("select * from zx_jhy");
+    }
+
+    public void newJhyInfoTest(List<Map<String, Object>> datas) {
+        for (Map<String, Object> data : datas) {
+            JhyInfo jhyInfo = mapToBane(data, JhyInfo.class);
+            String date = data.get("create_time").toString();
+            jhyInfo.setCreatedTime(DateUtil.parse(date, "yyyy-MM-dd HH:mm:ss"));
+            jhyInfo.setCardPos(data.get("card").toString());
+            jhyInfo.setIsJhy("1");
+            jhyInfo.setStatus(2);
+            jhyInfoMapper.insert(jhyInfo);
+        }
+    }
+
+    @DS("slave")
+    public List<Map<String, Object>> oldOrderTest() {
+        List<Map<String, Object>> maps = jdbcTemplate.queryForList("select * from zx_jhy_order_info");
+        for (Map<String, Object> map : maps) {
+            List<Map<String, Object>> goods = jdbcTemplate.queryForList("select * from zx_jhy_order_goods where order_id=" + map.get("id"));
+            if (map.get("jhy") != null && !"0".equals(map.get("jhy").toString())) {
+                Map<String, Object> jhy = jdbcTemplate.queryForMap("select * from zx_users where id=" + map.get("jhy"));
+                if (jhy != null) {
+                    map.put("jhy_id", jhy.get("yhid"));
+                }
+            }
+
+            map.put("items", goods);
+        }
+        return maps;
+    }
+
+
+    @Transactional(rollbackFor = Exception.class)
+    public void newOrderTest(List<Map<String, Object>> datas) {
+        for (Map<String, Object> data : datas) {
+            JhyOrder jhyOrder = mapToBane(data, JhyOrder.class);
+            String createTime = data.get("create_time").toString();
+            jhyOrder.setCreatedTime(DateUtil.parse(createTime, "yyyy-MM-dd HH:mm:ss"));
+            jhyOrder.setArea(data.get("address_area").toString());
+            jhyOrder.setOrderNo(data.get("order_id").toString());
+            jhyOrder.setAddress(data.get("address").toString());
+            String udpateTime = data.get("update_time").toString();
+            jhyOrder.setReceivingTime(DateUtil.parse(udpateTime, "yyyy-MM-dd HH:mm:ss"));
+            jhyOrder.setWeight(data.get("remark").toString());
+            jhyOrder.setIsCommented(null);
+            String reserveDate = data.get("create_time").toString();
+            jhyOrder.setReserveDate(DateUtil.parse(reserveDate, "yyyy-MM-dd"));
+            jhyOrder.setIsAnonymous(null);
+            jhyOrder.setUsername(data.get("username").toString());
+            switch (jhyOrder.getStatus()) {
+                case 4 :
+                    jhyOrder.setStatus(3);
+                    break;
+                case 6:
+                    jhyOrder.setStatus(5);
+            }
+
+            Map<String, Object> userId = jdbcTemplate.queryForMap("select * from xzx_user_info where user_id='" + jhyOrder.getUserId() + "'");
+            jhyOrder.setPhone(userId.get("mobile_phone").toString());
+            jhyOrderMapper.insert(jhyOrder);
+
+            boolean flag = false;
+            List<Map<String, Object>> items = (List<Map<String, Object>>) data.get("items");
+            for (Map<String, Object> item : items) {
+                JhyOrderItems jhyOrderItems = mapToBane(item, JhyOrderItems.class);
+                jhyOrderItems.setOrderId(jhyOrder.getId());
+                if (jhyOrder.getStatus() != 5) {
+                    String total = data.get("ordersum").toString();
+                    jhyOrderItems.setScore(total);
+
+                    if (items.size() > 1) {
+                        if (!flag) {
+                            jhyOrderItems.setWeight(new BigDecimal(total).divide(BigDecimal.valueOf(40), 2, BigDecimal.ROUND_DOWN));
+                        } else {
+                            jhyOrderItems.setWeight(BigDecimal.ZERO);
+                            jhyOrderItems.setScore("0");
+                        }
+                        flag = true;
+                    } else {
+                        jhyOrderItems.setWeight(new BigDecimal(total).divide(BigDecimal.valueOf(40), 2, BigDecimal.ROUND_DOWN));
+                    }
+                }
+
+                jhyOrderItemsMapper.insert(jhyOrderItems);
+            }
+        }
+    }
+
+
+    @DS("slave")
+    public List<Map<String, Object>> oldShopOrderList() {
+        List<Map<String, Object>> maps = jdbcTemplate.queryForList("select * from zx_order_info");
+        for (Map<String, Object> map : maps) {
+            Map<String, Object> sku = jdbcTemplate.queryForMap("select * from zx_order_goods where order_id=" + map.get("id"));
+
+            Map<String, Object> user = jdbcTemplate.queryForMap("select * from zx_users where id=" + map.get("user_id"));
+
+            System.out.println(sku.get("sku_id"));
+            Map<String, Object> goods = jdbcTemplate.queryForMap("select * from zx_goods where id=" + sku.get("sku_id"));
+            map.put("user_id", user.get("yhid"));
+            map.put("sku", sku);
+            map.put("goods", goods);
+        }
+        return maps;
+    }
+
+    public  String generate(String prefix,long datacenterId){
+        Snowflake snowflake = IdUtil.getSnowflake(Convert.toLong(0), datacenterId);
+        return prefix+snowflake.nextIdStr();
+    }
+
+    @Autowired
+    private ScoreOrderMapper scoreOrderMapper;
+
+    @Autowired
+    private ScoreExpressInfoMapper scoreExpressInfoMapper;
+
+    @Autowired
+    private ScoreOrderDetailsMapper scoreOrderDetailsMapper;
+
+    public void newShopOrderList(List<Map<String, Object>> maps) {
+        for (Map<String, Object> map : maps) {
+            Map<String, Object> goods = (Map<String, Object>) map.get("goods");
+
+            ScoreOrder scoreOrder = mapToBane(map, ScoreOrder.class);
+            scoreOrder.setGoodsName(goods.get("name").toString());
+            scoreOrder.setOrderNo(generate("JF", 9));
+            scoreOrder.setCnt(Integer.parseInt(map.get("number").toString()));
+            scoreOrder.setTotalPrice(new BigDecimal(map.get("total_mount").toString()));
+            String createTime = map.get("create_time").toString();
+            scoreOrder.setCreatedTime(DateUtil.parse(createTime, "yyyy-MM-dd HH:mm:ss"));
+            scoreOrder.setIsFinish(2);
+            scoreOrderMapper.insert(scoreOrder);
+
+            ScoreExpressInfo expressInfo = new ScoreExpressInfo();
+            expressInfo.setOrderId(scoreOrder.getId());
+            expressInfo.setAddress(map.get("address").toString());
+            expressInfo.setPhone(map.get("mobile").toString());
+            expressInfo.setUsername(map.get("username").toString());
+            expressInfo.setCreatedTime(DateUtil.parse(createTime, "yyyy-MM-dd HH:mm:ss"));
+            expressInfo.setUserId(scoreOrder.getUserId());
+            scoreExpressInfoMapper.insert(expressInfo);
+
+            Map<String, Object> sku = (Map<String, Object>) map.get("sku");
+            ScoreOrderDetails orderDetails = new ScoreOrderDetails();
+            orderDetails.setOrderId(scoreOrder.getId());
+            orderDetails.setCnt(scoreOrder.getCnt());
+            orderDetails.setUnitPrice(new BigDecimal(goods.get("present_price").toString()));
+            orderDetails.setStyle(goods.get("style").toString());
+            orderDetails.setSku(goods.get("specs").toString());
+            orderDetails.setThumb("https://pic.cnxzx.com/media/" + goods.get("image_url"));
+            orderDetails.setTotalPrice(new BigDecimal(map.get("total_mount").toString()));
+            orderDetails.setGoodsName(goods.get("name").toString());
+            scoreOrderDetailsMapper.insert(orderDetails);
+        }
+    }
+
+    @DS("slave")
+    public List<Map<String, Object>> oldScoreDetails() {
+        List<Map<String, Object>> maps = jdbcTemplate.queryForList("select * from zx_integral_records");
+        for (Map<String, Object> map : maps) {
+            Map<String, Object> user = jdbcTemplate.queryForMap("select * from zx_users where id=" + map.get("user_id"));
+            map.put("user_id", user.get("yhid"));
+        }
+        return maps;
+    }
+
+    @Autowired
+    private ScoreDetailsMapper scoreDetailsMapper;
+
+    public void newScoreDetails(List<Map<String, Object>> maps) {
+        for (Map<String, Object> map : maps) {
+            ScoreDetails scoreDetails = mapToBane(map, ScoreDetails.class);
+            String createTime = map.get("create_time").toString();
+            scoreDetails.setCreatedTime(DateUtil.parse(createTime, "yyyy-MM-dd HH:mm:ss"));
+            scoreDetails.setCurrentScore(new BigDecimal(map.get("present").toString()));
+            scoreDetails.setChangeScore(new BigDecimal(map.get("change").toString()));
+            scoreDetails.setOriginalScore(new BigDecimal(map.get("original").toString()));
+            scoreDetails.setType(Integer.parseInt(map.get("source_type").toString()));
+            scoreDetails.setOrderNo(map.get("order_id").toString());
+            scoreDetailsMapper.insert(scoreDetails);
+        }
+    }
+
+    @DS("slave")
+    public List<Map<String, Object>> oldScore() {
+        return jdbcTemplate.queryForList("select * from zx_users where integral!=0");
+    }
+
+
+    public void newScore(List<Map<String, Object>> maps) {
+        for (Map<String, Object> map : maps) {
+            jdbcTemplate.update("update xzx_account_info set collect_score=" + map.get("integral") + " where user_id='" + map.get("yhid") + "'");
+        }
+    }
+}
diff --git a/src/main/java/com/xcong/excoin/modules/datamove/dao/JhyInfoMapper.java b/src/main/java/com/xcong/excoin/modules/datamove/dao/JhyInfoMapper.java
new file mode 100644
index 0000000..b80c36f
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/datamove/dao/JhyInfoMapper.java
@@ -0,0 +1,11 @@
+package com.xcong.excoin.modules.datamove.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xcong.excoin.modules.datamove.entity.JhyInfo;
+
+/**
+ * @author wzy
+ * @date 2021-07-01
+ **/
+public interface JhyInfoMapper extends BaseMapper<JhyInfo> {
+}
diff --git a/src/main/java/com/xcong/excoin/modules/datamove/dao/JhyOrderItemsMapper.java b/src/main/java/com/xcong/excoin/modules/datamove/dao/JhyOrderItemsMapper.java
new file mode 100644
index 0000000..12adade
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/datamove/dao/JhyOrderItemsMapper.java
@@ -0,0 +1,7 @@
+package com.xcong.excoin.modules.datamove.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xcong.excoin.modules.datamove.entity.JhyOrderItems;
+
+public interface JhyOrderItemsMapper extends BaseMapper<JhyOrderItems> {
+}
diff --git a/src/main/java/com/xcong/excoin/modules/datamove/dao/JhyOrderMapper.java b/src/main/java/com/xcong/excoin/modules/datamove/dao/JhyOrderMapper.java
new file mode 100644
index 0000000..d2e394a
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/datamove/dao/JhyOrderMapper.java
@@ -0,0 +1,7 @@
+package com.xcong.excoin.modules.datamove.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xcong.excoin.modules.datamove.entity.JhyOrder;
+
+public interface JhyOrderMapper extends BaseMapper<JhyOrder> {
+}
diff --git a/src/main/java/com/xcong/excoin/modules/datamove/dao/ScoreDetailsMapper.java b/src/main/java/com/xcong/excoin/modules/datamove/dao/ScoreDetailsMapper.java
new file mode 100644
index 0000000..ebeded4
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/datamove/dao/ScoreDetailsMapper.java
@@ -0,0 +1,7 @@
+package com.xcong.excoin.modules.datamove.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xcong.excoin.modules.datamove.entity.ScoreDetails;
+
+public interface ScoreDetailsMapper extends BaseMapper<ScoreDetails> {
+}
diff --git a/src/main/java/com/xcong/excoin/modules/datamove/dao/ScoreExpressInfoMapper.java b/src/main/java/com/xcong/excoin/modules/datamove/dao/ScoreExpressInfoMapper.java
new file mode 100644
index 0000000..7948383
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/datamove/dao/ScoreExpressInfoMapper.java
@@ -0,0 +1,8 @@
+package com.xcong.excoin.modules.datamove.dao;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xcong.excoin.modules.datamove.entity.ScoreExpressInfo;
+
+public interface ScoreExpressInfoMapper extends BaseMapper<ScoreExpressInfo> {
+}
diff --git a/src/main/java/com/xcong/excoin/modules/datamove/dao/ScoreOrderDetailsMapper.java b/src/main/java/com/xcong/excoin/modules/datamove/dao/ScoreOrderDetailsMapper.java
new file mode 100644
index 0000000..2c4457e
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/datamove/dao/ScoreOrderDetailsMapper.java
@@ -0,0 +1,7 @@
+package com.xcong.excoin.modules.datamove.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xcong.excoin.modules.datamove.entity.ScoreOrderDetails;
+
+public interface ScoreOrderDetailsMapper extends BaseMapper<ScoreOrderDetails> {
+}
diff --git a/src/main/java/com/xcong/excoin/modules/datamove/dao/ScoreOrderMapper.java b/src/main/java/com/xcong/excoin/modules/datamove/dao/ScoreOrderMapper.java
new file mode 100644
index 0000000..7d581a3
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/datamove/dao/ScoreOrderMapper.java
@@ -0,0 +1,7 @@
+package com.xcong.excoin.modules.datamove.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xcong.excoin.modules.datamove.entity.ScoreOrder;
+
+public interface ScoreOrderMapper extends BaseMapper<ScoreOrder> {
+}
diff --git a/src/main/java/com/xcong/excoin/modules/datamove/entity/BaseEntity.java b/src/main/java/com/xcong/excoin/modules/datamove/entity/BaseEntity.java
new file mode 100644
index 0000000..5e72a21
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/datamove/entity/BaseEntity.java
@@ -0,0 +1,28 @@
+package com.xcong.excoin.modules.datamove.entity;
+
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+@Data
+public class BaseEntity implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    private String createdBy;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createdTime;
+
+    private short delFlag;
+
+    private Integer revision;
+
+
+    @TableId(value = "id",type = IdType.AUTO)
+    private Long id;
+}
diff --git a/src/main/java/com/xcong/excoin/modules/datamove/entity/JhyInfo.java b/src/main/java/com/xcong/excoin/modules/datamove/entity/JhyInfo.java
new file mode 100644
index 0000000..28dac6c
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/datamove/entity/JhyInfo.java
@@ -0,0 +1,44 @@
+package com.xcong.excoin.modules.datamove.entity;
+
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+
+@Data
+@TableName("xzx_jhy_info")
+public class JhyInfo extends BaseEntity {
+
+    private String userId;
+
+    private String username;
+
+    private String gender;
+
+    private String mobile;
+
+    private String identity;
+
+    private String address;
+
+    private String lon;
+
+    private String lat;
+
+    private String cardPos;
+
+    /**
+     * 是否集物员 1-是 2-否
+     */
+    private String isJhy;
+    public static final String IS_JHY_Y = "1";
+    public static final String IS_JHY_N = "2";
+
+    /**
+     * 审核状态 1-待审核 2-审核通过 3-审核拒绝
+     */
+    private Integer status;
+    public static final Integer CHECK_WAIT = 1;
+    public static final Integer CHECK_PASS = 2;
+    public static final Integer CHECK_REFUSE = 3;
+}
diff --git a/src/main/java/com/xcong/excoin/modules/datamove/entity/JhyOrder.java b/src/main/java/com/xcong/excoin/modules/datamove/entity/JhyOrder.java
new file mode 100644
index 0000000..2b979c1
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/datamove/entity/JhyOrder.java
@@ -0,0 +1,73 @@
+package com.xcong.excoin.modules.datamove.entity;
+
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+@TableName("xzx_jhy_order")
+public class JhyOrder extends BaseEntity {
+
+    private String userId;
+
+    private String orderNo;
+
+    private String username;
+
+    private String phone;
+
+    private String area;
+
+    private String address;
+
+    private Date reserveDate;
+
+    private String reserveTime;
+
+    private Date receivingTime;
+
+    private String longitude;
+
+    private String latitude;
+
+    private String weight;
+
+    /**
+     * 订单状态 状态 1-待接单2-已接单3-已完成(用户)/待入库(集物员)4-已完成5-已取消
+     */
+    private Integer status;
+    public static final Integer ORDER_STATUS_WAITING = 1;
+    public static final Integer ORDER_STATUS_IMG = 2;
+    public static final Integer ORDER_STATUS_CONFIRM = 3;
+    public static final Integer ORDER_STATUS_CANCEL = 5;
+
+    /**
+     * 评论
+     */
+    private String comment;
+
+    /**
+     * 分数
+     */
+    private Integer score;
+
+    /**
+     * 是否匿名 1-是 2-否
+     */
+    private Integer isAnonymous;
+
+    /**
+     * 是否已评论 1-是 2-否
+     */
+    private Integer isCommented;
+
+    private String remark;
+
+    /**
+     * 集物员ID
+     */
+    private String jhyId;
+
+}
diff --git a/src/main/java/com/xcong/excoin/modules/datamove/entity/JhyOrderItems.java b/src/main/java/com/xcong/excoin/modules/datamove/entity/JhyOrderItems.java
new file mode 100644
index 0000000..90ea6c1
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/datamove/entity/JhyOrderItems.java
@@ -0,0 +1,42 @@
+package com.xcong.excoin.modules.datamove.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+@TableName("xzx_jhy_order_items")
+@ApiModel(value = "JhyOrderItems", description = "订单详情")
+public class JhyOrderItems extends BaseEntity {
+
+    private Long orderId;
+
+    @ApiModelProperty(value="标题")
+    private String title;
+
+    @ApiModelProperty(value="价格")
+    private BigDecimal price;
+
+    @ApiModelProperty(value="图片")
+    private String picture;
+
+    @ApiModelProperty(value="备注")
+    private String remark;
+
+    @ApiModelProperty(value="重量")
+    private BigDecimal weight;
+
+    @ApiModelProperty(value="积分")
+    private String score;
+
+    @ApiModelProperty(value="类型")
+    private Long itemType;
+
+    @TableField(exist = false)
+    @ApiModelProperty(value = "单位")
+    private transient String itemUnit;
+}
diff --git a/src/main/java/com/xcong/excoin/modules/datamove/entity/ScoreDetails.java b/src/main/java/com/xcong/excoin/modules/datamove/entity/ScoreDetails.java
new file mode 100644
index 0000000..0ebd996
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/datamove/entity/ScoreDetails.java
@@ -0,0 +1,36 @@
+package com.xcong.excoin.modules.datamove.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+@TableName("xzx_score_details")
+public class ScoreDetails extends BaseEntity {
+
+    //订单编号
+    private String orderNo;
+
+    //用户ID
+    private String userId;
+
+    //交易类型 1-用户充值2-集物员支付3-用户兑换所得4-用户消费5-消费退回6-管理员充值7-其他
+    private Integer type;
+    public static final Integer SCORE_TYPE_USER_RECHARGE = 1;
+    public static final Integer SCORE_TYPE_PAY = 2;
+    public static final Integer SCORE_TYPE_EXCHANGE = 3;
+    public static final Integer SCORE_TYPE_SHOPPING = 4;
+    public static final Integer SCORE_TYPE_SHOPPING_RETURN = 5;
+    public static final Integer SCORE_TYPE_ADMIN_RECHARGE = 6;
+    public static final Integer SCORE_TYPE_OTHER = 7;
+
+    //原始积分
+    private BigDecimal originalScore;
+
+    //变化积分
+    private BigDecimal changeScore;
+
+    //当前积分
+    private BigDecimal currentScore;
+}
diff --git a/src/main/java/com/xcong/excoin/modules/datamove/entity/ScoreExpressInfo.java b/src/main/java/com/xcong/excoin/modules/datamove/entity/ScoreExpressInfo.java
new file mode 100644
index 0000000..69a3b44
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/datamove/entity/ScoreExpressInfo.java
@@ -0,0 +1,28 @@
+package com.xcong.excoin.modules.datamove.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+
+/**
+ * @author wzy
+ * @date 2021-06-21
+ **/
+@Data
+@TableName("xzx_score_express_info")
+public class ScoreExpressInfo extends BaseEntity {
+
+    private String userId;
+
+    private String username;
+
+    private String phone;
+
+    private String address;
+
+    private String expressNo;
+
+    private String expressCom;
+
+    private Long orderId;
+}
diff --git a/src/main/java/com/xcong/excoin/modules/datamove/entity/ScoreOrder.java b/src/main/java/com/xcong/excoin/modules/datamove/entity/ScoreOrder.java
new file mode 100644
index 0000000..6878376
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/datamove/entity/ScoreOrder.java
@@ -0,0 +1,47 @@
+package com.xcong.excoin.modules.datamove.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * @author wzy
+ * @date 2021-06-21
+ **/
+@Data
+@TableName("xzx_score_order")
+public class ScoreOrder extends BaseEntity {
+
+    private String orderNo;
+
+    private String goodsName;
+
+    private String userId;
+
+    private String voucherImg;
+
+    private Integer cnt;
+
+    private BigDecimal totalPrice;
+
+    /**
+     * 1-待发货2-待收货3-已收货4-已完成5-已评价6-已取消
+     */
+    private Integer status;
+    public  static final Integer STATUS_READY = 1;
+    public  static final Integer STATUS_ON = 2;
+    public  static final Integer STATUS_DOING = 3;
+    public  static final Integer STATUS_DONE = 4;
+    public  static final Integer STATUS_EVALUATE = 5;
+    public  static final Integer STATUS_CANCEL = 6;
+
+    /**
+     * 后台确认提货  1:是  2:否
+     */
+    private Integer isFinish;
+    public  static final Integer ISFINISH_YES = 1;
+    public  static final Integer ISFINISH_NO = 2;
+
+    private String remark;
+}
diff --git a/src/main/java/com/xcong/excoin/modules/datamove/entity/ScoreOrderDetails.java b/src/main/java/com/xcong/excoin/modules/datamove/entity/ScoreOrderDetails.java
new file mode 100644
index 0000000..b0ff655
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/datamove/entity/ScoreOrderDetails.java
@@ -0,0 +1,35 @@
+package com.xcong.excoin.modules.datamove.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * @author wzy
+ * @date 2021-06-21
+ **/
+@Data
+@TableName("xzx_score_order_details")
+public class ScoreOrderDetails extends BaseEntity {
+
+    private String goodsName;
+
+    private BigDecimal unitPrice;
+
+    private Integer cnt;
+
+    private BigDecimal totalPrice;
+
+    private String sku;
+
+    private String style;
+
+    private String thumb;
+
+    private Long goodsId;
+
+    private Long skuId;
+
+    private Long orderId;
+}
diff --git a/src/main/resources/application-test.yml b/src/main/resources/application-test.yml
index 944d185..8f85456 100644
--- a/src/main/resources/application-test.yml
+++ b/src/main/resources/application-test.yml
@@ -7,14 +7,22 @@
   profiles:
     active: test
   datasource:
-    #    url: jdbc:mysql://rm-bp151tw8er79ig9kb5o.mysql.rds.aliyuncs.com:3306/db_biue?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2b8
-    #    username: ctcoin_data
-    #    password: ctcoin_123
-    url: jdbc:mysql://120.27.238.55:3306/db_otc?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2b8
-    username: ct_test
-    password: 123456
-    driver-class-name: com.mysql.jdbc.Driver
-    type: com.alibaba.druid.pool.DruidDataSource
+    dynamic:
+      primary: master
+      strict: false
+      datasource:
+        master:
+          url: jdbc:mysql://120.27.238.55:3306/db_xzx?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useAffectedRows=true&serverTimezone=GMT%2b8
+          username: ct_test
+          password: 123456
+          driver-class-name: com.mysql.jdbc.Driver
+          type: com.alibaba.druid.pool.DruidDataSource
+        slave:
+          url: jdbc:mysql://120.27.238.55:3306/db_jf?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useAffectedRows=true&serverTimezone=GMT%2b8
+          username: ct_test
+          password: 123456
+          type: com.alibaba.druid.pool.DruidDataSource
+          driver-class-name: com.mysql.jdbc.Driver
     druid:
       initial-size: ${spring_datasource_druid_initial_size:10}
       max-active: ${spring_datasource_druid_max_active:20}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 99c137d..cab8752 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -6,15 +6,25 @@
 spring:
   profiles:
     active: dev
+  autoconfigure:
+    exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure
   datasource:
-    url: jdbc:mysql://154.91.195.170:3306/db_otc?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2b8
-    username: yd_otc
-    password: yd_otc123!@#
-#    url: jdbc:mysql://120.27.238.55:3306/db_otc?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2b8
-#    username: ct_test
-#    password: 123456
-    driver-class-name: com.mysql.jdbc.Driver
-    type: com.alibaba.druid.pool.DruidDataSource
+    dynamic:
+      primary: master
+      strict: false
+      datasource:
+        master:
+          url: jdbc:mysql://120.27.238.55:3306/db_xzx?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useAffectedRows=true&serverTimezone=GMT%2b8
+          username: ct_test
+          password: 123456
+          driver-class-name: com.mysql.jdbc.Driver
+          type: com.alibaba.druid.pool.DruidDataSource
+        slave:
+          url: jdbc:mysql://120.27.238.55:3306/xzxapp_new?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useAffectedRows=true&serverTimezone=GMT%2b8
+          username: ct_test
+          password: 123456
+          type: com.alibaba.druid.pool.DruidDataSource
+          driver-class-name: com.mysql.jdbc.Driver
     druid:
       initial-size: ${spring_datasource_druid_initial_size:10}
       max-active: ${spring_datasource_druid_max_active:20}
@@ -96,7 +106,10 @@
 mybatis-plus:
   mapper-locations: classpath:mapper/**/*.xml
 
-
+file:
+  storage:
+    path: /home/javaweb/webresource/images
+    url: http://download.topclouds.cc/images/
 app:
   debug: true
   project: otc
diff --git a/src/main/resources/mapper/datamove/JhyInfoMapper.xml b/src/main/resources/mapper/datamove/JhyInfoMapper.xml
new file mode 100644
index 0000000..81f4526
--- /dev/null
+++ b/src/main/resources/mapper/datamove/JhyInfoMapper.xml
@@ -0,0 +1,5 @@
+<?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.xcong.excoin.modules.datamove.dao.JhyInfoMapper">
+
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/datamove/JhyOrderItemsMapper.xml b/src/main/resources/mapper/datamove/JhyOrderItemsMapper.xml
new file mode 100644
index 0000000..bf2fa55
--- /dev/null
+++ b/src/main/resources/mapper/datamove/JhyOrderItemsMapper.xml
@@ -0,0 +1,5 @@
+<?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.xcong.excoin.modules.datamove.dao.JhyOrderItemsMapper">
+
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/datamove/JhyOrderMapper.xml b/src/main/resources/mapper/datamove/JhyOrderMapper.xml
new file mode 100644
index 0000000..0f341b1
--- /dev/null
+++ b/src/main/resources/mapper/datamove/JhyOrderMapper.xml
@@ -0,0 +1,5 @@
+<?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.xcong.excoin.modules.datamove.dao.JhyOrderMapper">
+
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/datamove/ScoreDetailsMapper.xml b/src/main/resources/mapper/datamove/ScoreDetailsMapper.xml
new file mode 100644
index 0000000..f4b8ed2
--- /dev/null
+++ b/src/main/resources/mapper/datamove/ScoreDetailsMapper.xml
@@ -0,0 +1,5 @@
+<?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.xcong.excoin.modules.datamove.dao.ScoreDetailsMapper">
+
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/datamove/ScoreOrderMapper.xml b/src/main/resources/mapper/datamove/ScoreOrderMapper.xml
new file mode 100644
index 0000000..eddf55a
--- /dev/null
+++ b/src/main/resources/mapper/datamove/ScoreOrderMapper.xml
@@ -0,0 +1,5 @@
+<?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.xcong.excoin.modules.datamove.dao.ScoreOrderMapper">
+
+</mapper>
\ No newline at end of file
diff --git a/src/test/java/com/xcong/excoin/dataMoveTest.java b/src/test/java/com/xcong/excoin/dataMoveTest.java
new file mode 100644
index 0000000..7816e7a
--- /dev/null
+++ b/src/test/java/com/xcong/excoin/dataMoveTest.java
@@ -0,0 +1,49 @@
+package com.xcong.excoin;
+
+import cn.hutool.core.collection.CollUtil;
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.xcong.excoin.modules.datamove.DataMoveService;
+import lombok.extern.slf4j.Slf4j;
+import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.jdbc.core.JdbcTemplate;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+@Slf4j
+@SpringBootTest
+public class dataMoveTest {
+
+    @Autowired
+    private DataMoveService dataMoveService;
+
+    @Test
+    public void jhyInfoTest() {
+        List<Map<String, Object>> oldData = dataMoveService.oldJhyTest();
+        dataMoveService.newJhyInfoTest(oldData);
+    }
+
+    @Test
+    public void jhyOrderTest() {
+        dataMoveService.newOrderTest(dataMoveService.oldOrderTest());
+    }
+
+    @Test
+    public void shopOrderTest() {
+        dataMoveService.newShopOrderList(dataMoveService.oldShopOrderList());
+    }
+
+    @Test
+    public void scoreDetailsTest() {
+        dataMoveService.newScoreDetails(dataMoveService.oldScoreDetails());
+    }
+
+    @Test
+    public void scoreTest() {
+        dataMoveService.newScore(dataMoveService.oldScore());
+    }
+
+}

--
Gitblit v1.9.1