Helius
2021-09-07 1e4cab335b1cb68ad3438e522ea410c2d2e753ed
data_move
22 files added
3 files modified
773 ■■■■■ changed files
pom.xml 14 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/datamove/DataMoveService.java 243 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/datamove/dao/JhyInfoMapper.java 11 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/datamove/dao/JhyOrderItemsMapper.java 7 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/datamove/dao/JhyOrderMapper.java 7 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/datamove/dao/ScoreDetailsMapper.java 7 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/datamove/dao/ScoreExpressInfoMapper.java 8 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/datamove/dao/ScoreOrderDetailsMapper.java 7 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/datamove/dao/ScoreOrderMapper.java 7 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/datamove/entity/BaseEntity.java 28 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/datamove/entity/JhyInfo.java 44 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/datamove/entity/JhyOrder.java 73 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/datamove/entity/JhyOrderItems.java 42 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/datamove/entity/ScoreDetails.java 36 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/datamove/entity/ScoreExpressInfo.java 28 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/datamove/entity/ScoreOrder.java 47 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/datamove/entity/ScoreOrderDetails.java 35 ●●●●● patch | view | raw | blame | history
src/main/resources/application-test.yml 24 ●●●●● patch | view | raw | blame | history
src/main/resources/application.yml 31 ●●●● patch | view | raw | blame | history
src/main/resources/mapper/datamove/JhyInfoMapper.xml 5 ●●●●● patch | view | raw | blame | history
src/main/resources/mapper/datamove/JhyOrderItemsMapper.xml 5 ●●●●● patch | view | raw | blame | history
src/main/resources/mapper/datamove/JhyOrderMapper.xml 5 ●●●●● patch | view | raw | blame | history
src/main/resources/mapper/datamove/ScoreDetailsMapper.xml 5 ●●●●● patch | view | raw | blame | history
src/main/resources/mapper/datamove/ScoreOrderMapper.xml 5 ●●●●● patch | view | raw | blame | history
src/test/java/com/xcong/excoin/dataMoveTest.java 49 ●●●●● patch | view | raw | blame | history
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>
src/main/java/com/xcong/excoin/modules/datamove/DataMoveService.java
New file
@@ -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") + "'");
        }
    }
}
src/main/java/com/xcong/excoin/modules/datamove/dao/JhyInfoMapper.java
New file
@@ -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> {
}
src/main/java/com/xcong/excoin/modules/datamove/dao/JhyOrderItemsMapper.java
New file
@@ -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> {
}
src/main/java/com/xcong/excoin/modules/datamove/dao/JhyOrderMapper.java
New file
@@ -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> {
}
src/main/java/com/xcong/excoin/modules/datamove/dao/ScoreDetailsMapper.java
New file
@@ -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> {
}
src/main/java/com/xcong/excoin/modules/datamove/dao/ScoreExpressInfoMapper.java
New file
@@ -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> {
}
src/main/java/com/xcong/excoin/modules/datamove/dao/ScoreOrderDetailsMapper.java
New file
@@ -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> {
}
src/main/java/com/xcong/excoin/modules/datamove/dao/ScoreOrderMapper.java
New file
@@ -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> {
}
src/main/java/com/xcong/excoin/modules/datamove/entity/BaseEntity.java
New file
@@ -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;
}
src/main/java/com/xcong/excoin/modules/datamove/entity/JhyInfo.java
New file
@@ -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;
}
src/main/java/com/xcong/excoin/modules/datamove/entity/JhyOrder.java
New file
@@ -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;
}
src/main/java/com/xcong/excoin/modules/datamove/entity/JhyOrderItems.java
New file
@@ -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;
}
src/main/java/com/xcong/excoin/modules/datamove/entity/ScoreDetails.java
New file
@@ -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;
}
src/main/java/com/xcong/excoin/modules/datamove/entity/ScoreExpressInfo.java
New file
@@ -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;
}
src/main/java/com/xcong/excoin/modules/datamove/entity/ScoreOrder.java
New file
@@ -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;
}
src/main/java/com/xcong/excoin/modules/datamove/entity/ScoreOrderDetails.java
New file
@@ -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;
}
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}
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
src/main/resources/mapper/datamove/JhyInfoMapper.xml
New file
@@ -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>
src/main/resources/mapper/datamove/JhyOrderItemsMapper.xml
New file
@@ -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>
src/main/resources/mapper/datamove/JhyOrderMapper.xml
New file
@@ -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>
src/main/resources/mapper/datamove/ScoreDetailsMapper.xml
New file
@@ -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>
src/main/resources/mapper/datamove/ScoreOrderMapper.xml
New file
@@ -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>
src/test/java/com/xcong/excoin/dataMoveTest.java
New file
@@ -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());
    }
}