1018653686@qq.com 1 år sedan
förälder
incheckning
98bae9699e
37 ändrade filer med 2169 tillägg och 0 borttagningar
  1. 4 0
      hx-admin/src/main/java/com/fjhx/admin/BytesailingApplication.java
  2. 8 0
      hx-jushuitan/pom.xml
  3. 0 0
      hx-jushuitan/src/main/java/com/fjhx/jushuitan/a-json/JstOrderDetailApi.json
  4. 0 0
      hx-jushuitan/src/main/java/com/fjhx/jushuitan/a-json/JstOrderInfoApi.json
  5. 0 0
      hx-jushuitan/src/main/java/com/fjhx/jushuitan/a-json/JstOrderPayInfoApi.json
  6. 21 0
      hx-jushuitan/src/main/java/com/fjhx/jushuitan/constants/JstConstant.java
  7. 77 0
      hx-jushuitan/src/main/java/com/fjhx/jushuitan/controller/jst/JstOrderDetailController.java
  8. 77 0
      hx-jushuitan/src/main/java/com/fjhx/jushuitan/controller/jst/JstOrderInfoController.java
  9. 77 0
      hx-jushuitan/src/main/java/com/fjhx/jushuitan/controller/jst/JstOrderPayInfoController.java
  10. 17 0
      hx-jushuitan/src/main/java/com/fjhx/jushuitan/entity/jst/dto/JstOrderDetailDto.java
  11. 17 0
      hx-jushuitan/src/main/java/com/fjhx/jushuitan/entity/jst/dto/JstOrderDetailSelectDto.java
  12. 17 0
      hx-jushuitan/src/main/java/com/fjhx/jushuitan/entity/jst/dto/JstOrderInfoDto.java
  13. 24 0
      hx-jushuitan/src/main/java/com/fjhx/jushuitan/entity/jst/dto/JstOrderInfoSelectDto.java
  14. 17 0
      hx-jushuitan/src/main/java/com/fjhx/jushuitan/entity/jst/dto/JstOrderPayInfoDto.java
  15. 17 0
      hx-jushuitan/src/main/java/com/fjhx/jushuitan/entity/jst/dto/JstOrderPayInfoSelectDto.java
  16. 171 0
      hx-jushuitan/src/main/java/com/fjhx/jushuitan/entity/jst/po/JstOrderDetail.java
  17. 394 0
      hx-jushuitan/src/main/java/com/fjhx/jushuitan/entity/jst/po/JstOrderInfo.java
  18. 70 0
      hx-jushuitan/src/main/java/com/fjhx/jushuitan/entity/jst/po/JstOrderPayInfo.java
  19. 17 0
      hx-jushuitan/src/main/java/com/fjhx/jushuitan/entity/jst/vo/JstOrderDetailVo.java
  20. 21 0
      hx-jushuitan/src/main/java/com/fjhx/jushuitan/entity/jst/vo/JstOrderInfoVo.java
  21. 17 0
      hx-jushuitan/src/main/java/com/fjhx/jushuitan/entity/jst/vo/JstOrderPayInfoVo.java
  22. 34 0
      hx-jushuitan/src/main/java/com/fjhx/jushuitan/entity/jushuitan/vo/JstApiOrderInfoVO.java
  23. 24 0
      hx-jushuitan/src/main/java/com/fjhx/jushuitan/entity/jushuitan/vo/RefreshTokenResponseVO.java
  24. 28 0
      hx-jushuitan/src/main/java/com/fjhx/jushuitan/initializers/JstInitializer.java
  25. 32 0
      hx-jushuitan/src/main/java/com/fjhx/jushuitan/mapper/jst/JstOrderDetailMapper.java
  26. 32 0
      hx-jushuitan/src/main/java/com/fjhx/jushuitan/mapper/jst/JstOrderInfoMapper.java
  27. 32 0
      hx-jushuitan/src/main/java/com/fjhx/jushuitan/mapper/jst/JstOrderPayInfoMapper.java
  28. 239 0
      hx-jushuitan/src/main/java/com/fjhx/jushuitan/service/api/JstApiService.java
  29. 52 0
      hx-jushuitan/src/main/java/com/fjhx/jushuitan/service/jst/JstOrderDetailService.java
  30. 53 0
      hx-jushuitan/src/main/java/com/fjhx/jushuitan/service/jst/JstOrderInfoService.java
  31. 52 0
      hx-jushuitan/src/main/java/com/fjhx/jushuitan/service/jst/JstOrderPayInfoService.java
  32. 66 0
      hx-jushuitan/src/main/java/com/fjhx/jushuitan/service/jst/impl/JstOrderDetailServiceImpl.java
  33. 96 0
      hx-jushuitan/src/main/java/com/fjhx/jushuitan/service/jst/impl/JstOrderInfoServiceImpl.java
  34. 66 0
      hx-jushuitan/src/main/java/com/fjhx/jushuitan/service/jst/impl/JstOrderPayInfoServiceImpl.java
  35. 82 0
      hx-jushuitan/src/main/resources/mapper/jst/JstOrderDetailMapper.xml
  36. 178 0
      hx-jushuitan/src/main/resources/mapper/jst/JstOrderInfoMapper.xml
  37. 40 0
      hx-jushuitan/src/main/resources/mapper/jst/JstOrderPayInfoMapper.xml

+ 4 - 0
hx-admin/src/main/java/com/fjhx/admin/BytesailingApplication.java

@@ -3,9 +3,13 @@ package com.fjhx.admin;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.scheduling.annotation.EnableScheduling;
 
 @Slf4j
 @SpringBootApplication(scanBasePackages = "com.fjhx.**")
+@EnableScheduling
+@EnableAsync
 public class BytesailingApplication {
 
     public static void main(String[] args) {

+ 8 - 0
hx-jushuitan/pom.xml

@@ -17,6 +17,14 @@
             <groupId>com.fjhx</groupId>
             <artifactId>hx-base</artifactId>
         </dependency>
+
+        <dependency>
+            <groupId>com.jst</groupId>
+            <artifactId>jst-api</artifactId>
+            <version>1.0.0</version>
+            <scope>system</scope>
+            <systemPath>${project.basedir}/src/main/resources/lib/jst-api-1.0.0.jar</systemPath>
+        </dependency>
     </dependencies>
 
 </project>

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
hx-jushuitan/src/main/java/com/fjhx/jushuitan/a-json/JstOrderDetailApi.json


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
hx-jushuitan/src/main/java/com/fjhx/jushuitan/a-json/JstOrderInfoApi.json


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
hx-jushuitan/src/main/java/com/fjhx/jushuitan/a-json/JstOrderPayInfoApi.json


+ 21 - 0
hx-jushuitan/src/main/java/com/fjhx/jushuitan/constants/JstConstant.java

@@ -0,0 +1,21 @@
+package com.fjhx.jushuitan.constants;
+
+public class JstConstant {
+    public static final String TENANT_ID = "000000";
+    public static String DOMAIN_URL = "https://openapi.jushuitan.com";
+    public static String QUERY_ORDER = "/open/orders/single/query";
+
+    public static String APP_KEY = "1395a212288641d99f0e9fddc05e9d4a";
+    public static String APP_SECRET = "a62d1dc90e504612898831250ab6e534";
+    public static String ACCESS_TOKEN = "c3e4bf152cb4407686b3a8939e414c07";
+    public static String REFRESH_TOKEN = "f0d3e2807a6e4f44a362ceee554a85ff";
+
+    public static Integer SUCCESS_CODE = 0;
+    public static Integer PAGE_SIZE = 50;
+    public static Integer PAGE_INDEX = 1;
+
+    public static final Integer SLEEP_TEN_SECOND = 10000;
+    public static final Integer SLEEP_ONE_MINUTE = 60000;
+
+    public static final Integer SLEEP_FIVE_MINUTE = 300000;
+}

+ 77 - 0
hx-jushuitan/src/main/java/com/fjhx/jushuitan/controller/jst/JstOrderDetailController.java

@@ -0,0 +1,77 @@
+package com.fjhx.jushuitan.controller.jst;
+
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.jushuitan.entity.jst.vo.JstOrderDetailVo;
+import com.fjhx.jushuitan.entity.jst.dto.JstOrderDetailSelectDto;
+import com.fjhx.jushuitan.entity.jst.dto.JstOrderDetailDto;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.fjhx.jushuitan.service.jst.JstOrderDetailService;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 聚水潭订单明细表 前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2024-01-20
+ */
+@RestController
+@RequestMapping("/jstOrderDetail")
+public class JstOrderDetailController {
+
+    @Autowired
+    private JstOrderDetailService jstOrderDetailService;
+
+    /**
+     * 聚水潭订单明细表列表
+     */
+    @PostMapping("/list")
+    public List<JstOrderDetailVo> list(@RequestBody JstOrderDetailSelectDto dto) {
+        return jstOrderDetailService.getList(dto);
+    }
+
+    /**
+     * 聚水潭订单明细表分页
+     */
+    @PostMapping("/page")
+    public Page<JstOrderDetailVo> page(@RequestBody JstOrderDetailSelectDto dto) {
+        return jstOrderDetailService.getPage(dto);
+    }
+
+    /**
+     * 聚水潭订单明细表明细
+     */
+    @PostMapping("/detail")
+    public JstOrderDetailVo detail(@RequestBody BaseSelectDto dto) {
+        return jstOrderDetailService.detail(dto.getId());
+    }
+
+    /**
+     * 聚水潭订单明细表新增
+     */
+    @PostMapping("/add")
+    public void add(@RequestBody JstOrderDetailDto jstOrderDetailDto) {
+        jstOrderDetailService.add(jstOrderDetailDto);
+    }
+
+    /**
+     * 聚水潭订单明细表编辑
+     */
+    @PostMapping("/edit")
+    public void edit(@RequestBody JstOrderDetailDto jstOrderDetailDto) {
+        jstOrderDetailService.edit(jstOrderDetailDto);
+    }
+
+    /**
+     * 聚水潭订单明细表删除
+     */
+    @PostMapping("/delete")
+    public void delete(@RequestBody BaseSelectDto dto) {
+        jstOrderDetailService.delete(dto.getId());
+    }
+
+}

+ 77 - 0
hx-jushuitan/src/main/java/com/fjhx/jushuitan/controller/jst/JstOrderInfoController.java

@@ -0,0 +1,77 @@
+package com.fjhx.jushuitan.controller.jst;
+
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.jushuitan.entity.jst.vo.JstOrderInfoVo;
+import com.fjhx.jushuitan.entity.jst.dto.JstOrderInfoSelectDto;
+import com.fjhx.jushuitan.entity.jst.dto.JstOrderInfoDto;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.fjhx.jushuitan.service.jst.JstOrderInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 聚水潭订单表 前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2024-01-20
+ */
+@RestController
+@RequestMapping("/jstOrderInfo")
+public class JstOrderInfoController {
+
+    @Autowired
+    private JstOrderInfoService jstOrderInfoService;
+
+    /**
+     * 聚水潭订单表列表
+     */
+    @PostMapping("/list")
+    public List<JstOrderInfoVo> list(@RequestBody JstOrderInfoSelectDto dto) {
+        return jstOrderInfoService.getList(dto);
+    }
+
+    /**
+     * 聚水潭订单表分页
+     */
+    @PostMapping("/page")
+    public Page<JstOrderInfoVo> page(@RequestBody JstOrderInfoSelectDto dto) {
+        return jstOrderInfoService.getPage(dto);
+    }
+
+    /**
+     * 聚水潭订单表明细
+     */
+    @PostMapping("/detail")
+    public JstOrderInfoVo detail(@RequestBody BaseSelectDto dto) {
+        return jstOrderInfoService.detail(dto.getId());
+    }
+
+    /**
+     * 聚水潭订单表新增
+     */
+    @PostMapping("/add")
+    public void add(@RequestBody JstOrderInfoDto jstOrderInfoDto) {
+        jstOrderInfoService.add(jstOrderInfoDto);
+    }
+
+    /**
+     * 聚水潭订单表编辑
+     */
+    @PostMapping("/edit")
+    public void edit(@RequestBody JstOrderInfoDto jstOrderInfoDto) {
+        jstOrderInfoService.edit(jstOrderInfoDto);
+    }
+
+    /**
+     * 聚水潭订单表删除
+     */
+    @PostMapping("/delete")
+    public void delete(@RequestBody BaseSelectDto dto) {
+        jstOrderInfoService.delete(dto.getId());
+    }
+
+}

+ 77 - 0
hx-jushuitan/src/main/java/com/fjhx/jushuitan/controller/jst/JstOrderPayInfoController.java

@@ -0,0 +1,77 @@
+package com.fjhx.jushuitan.controller.jst;
+
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.jushuitan.entity.jst.vo.JstOrderPayInfoVo;
+import com.fjhx.jushuitan.entity.jst.dto.JstOrderPayInfoSelectDto;
+import com.fjhx.jushuitan.entity.jst.dto.JstOrderPayInfoDto;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.fjhx.jushuitan.service.jst.JstOrderPayInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 聚水潭支付信息表 前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2024-01-20
+ */
+@RestController
+@RequestMapping("/jstOrderPayInfo")
+public class JstOrderPayInfoController {
+
+    @Autowired
+    private JstOrderPayInfoService jstOrderPayInfoService;
+
+    /**
+     * 聚水潭支付信息表列表
+     */
+    @PostMapping("/list")
+    public List<JstOrderPayInfoVo> list(@RequestBody JstOrderPayInfoSelectDto dto) {
+        return jstOrderPayInfoService.getList(dto);
+    }
+
+    /**
+     * 聚水潭支付信息表分页
+     */
+    @PostMapping("/page")
+    public Page<JstOrderPayInfoVo> page(@RequestBody JstOrderPayInfoSelectDto dto) {
+        return jstOrderPayInfoService.getPage(dto);
+    }
+
+    /**
+     * 聚水潭支付信息表明细
+     */
+    @PostMapping("/detail")
+    public JstOrderPayInfoVo detail(@RequestBody BaseSelectDto dto) {
+        return jstOrderPayInfoService.detail(dto.getId());
+    }
+
+    /**
+     * 聚水潭支付信息表新增
+     */
+    @PostMapping("/add")
+    public void add(@RequestBody JstOrderPayInfoDto jstOrderPayInfoDto) {
+        jstOrderPayInfoService.add(jstOrderPayInfoDto);
+    }
+
+    /**
+     * 聚水潭支付信息表编辑
+     */
+    @PostMapping("/edit")
+    public void edit(@RequestBody JstOrderPayInfoDto jstOrderPayInfoDto) {
+        jstOrderPayInfoService.edit(jstOrderPayInfoDto);
+    }
+
+    /**
+     * 聚水潭支付信息表删除
+     */
+    @PostMapping("/delete")
+    public void delete(@RequestBody BaseSelectDto dto) {
+        jstOrderPayInfoService.delete(dto.getId());
+    }
+
+}

+ 17 - 0
hx-jushuitan/src/main/java/com/fjhx/jushuitan/entity/jst/dto/JstOrderDetailDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.jushuitan.entity.jst.dto;
+
+import com.fjhx.jushuitan.entity.jst.po.JstOrderDetail;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 聚水潭订单明细表新增编辑入参实体
+ *
+ * @author 
+ * @since 2024-01-20
+ */
+@Getter
+@Setter
+public class JstOrderDetailDto extends JstOrderDetail {
+
+}

+ 17 - 0
hx-jushuitan/src/main/java/com/fjhx/jushuitan/entity/jst/dto/JstOrderDetailSelectDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.jushuitan.entity.jst.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 聚水潭订单明细表列表查询入参实体
+ *
+ * @author 
+ * @since 2024-01-20
+ */
+@Getter
+@Setter
+public class JstOrderDetailSelectDto extends BaseSelectDto {
+
+}

+ 17 - 0
hx-jushuitan/src/main/java/com/fjhx/jushuitan/entity/jst/dto/JstOrderInfoDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.jushuitan.entity.jst.dto;
+
+import com.fjhx.jushuitan.entity.jst.po.JstOrderInfo;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 聚水潭订单表新增编辑入参实体
+ *
+ * @author 
+ * @since 2024-01-20
+ */
+@Getter
+@Setter
+public class JstOrderInfoDto extends JstOrderInfo {
+
+}

+ 24 - 0
hx-jushuitan/src/main/java/com/fjhx/jushuitan/entity/jst/dto/JstOrderInfoSelectDto.java

@@ -0,0 +1,24 @@
+package com.fjhx.jushuitan.entity.jst.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/**
+ * 聚水潭订单表列表查询入参实体
+ *
+ * @author 
+ * @since 2024-01-20
+ */
+@Getter
+@Setter
+public class JstOrderInfoSelectDto extends BaseSelectDto {
+    private Date startTime;
+    private Date endTime;
+    /**内部订单号**/
+    private String oid;
+    /**平台订单状态**/
+    private String shopStatus;
+}

+ 17 - 0
hx-jushuitan/src/main/java/com/fjhx/jushuitan/entity/jst/dto/JstOrderPayInfoDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.jushuitan.entity.jst.dto;
+
+import com.fjhx.jushuitan.entity.jst.po.JstOrderPayInfo;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 聚水潭支付信息表新增编辑入参实体
+ *
+ * @author 
+ * @since 2024-01-20
+ */
+@Getter
+@Setter
+public class JstOrderPayInfoDto extends JstOrderPayInfo {
+
+}

+ 17 - 0
hx-jushuitan/src/main/java/com/fjhx/jushuitan/entity/jst/dto/JstOrderPayInfoSelectDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.jushuitan.entity.jst.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 聚水潭支付信息表列表查询入参实体
+ *
+ * @author 
+ * @since 2024-01-20
+ */
+@Getter
+@Setter
+public class JstOrderPayInfoSelectDto extends BaseSelectDto {
+
+}

+ 171 - 0
hx-jushuitan/src/main/java/com/fjhx/jushuitan/entity/jst/po/JstOrderDetail.java

@@ -0,0 +1,171 @@
+package com.fjhx.jushuitan.entity.jst.po;
+
+import com.ruoyi.common.core.domain.BaseIdPo;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.math.BigDecimal;
+
+import com.ruoyi.common.core.domain.BasePo;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 聚水潭订单明细表
+ * </p>
+ *
+ * @author 
+ * @since 2024-01-20
+ */
+@Getter
+@Setter
+@TableName("jst_order_detail")
+public class JstOrderDetail extends BasePo {
+
+    private Long orderId;
+
+    /**
+     * 款式编码
+     */
+    private String iid;
+
+    /**
+     * 主播ID
+     */
+    private String referrerId;
+
+    /**
+     * 明细备注
+     */
+    private String remark;
+
+    /**
+     * 商品图片
+     */
+    private String pic;
+
+    /**
+     * 订单明细扩展字段
+     */
+    private String itemExtData;
+
+    /**
+     * 店铺款式编码
+     */
+    private String shopIId;
+
+    private BigDecimal discountRate;
+
+    /**
+     * 原组合商品编码
+     */
+    private String srcCombineSkuId;
+
+    /**
+     * 单价
+     */
+    private BigDecimal price;
+
+    /**
+     * 基本售价(原价)
+     */
+    private BigDecimal basePrice;
+
+    /**
+     * ERP内部订单号,聚水潭生成的订单号,唯一
+     */
+    private Long oid;
+
+    /**
+     * 卖家实收(仅限抖音平台订单)
+     */
+    private BigDecimal sellerIncomeAmount;
+
+    /**
+     * 子订单号,商家系统订单商品明细主键,为了拆单合单时溯源,最长不超过50
+     */
+    private String outerOiId;
+
+    /**
+     * 买家实付(仅限抖音,京东平台订单)
+     */
+    private BigDecimal buyerPaidAmount;
+
+    /**
+     * 是否预售
+     */
+    private Boolean isPresale;
+
+    /**
+     * 总额
+     */
+    private BigDecimal amount;
+
+    private Integer sendWarehouse;
+
+    private BigDecimal itemPayAmount;
+
+    /**
+     * 申请退款的状态,未申请:none;退款中:waiting;退款成功:success;退款关闭:closed
+     */
+    private String refundStatus;
+
+    /**
+     * 商品类型;nomal:普通商品;combine:组合装商品;no_deliver:不发货
+     */
+    private String skuType;
+
+    private String refundQty;
+
+    /**
+     * 原始商品编码
+     */
+    private String skuId;
+
+    /**
+     * 商品状态;None:无;WaitPay:待付款;WaitConfirm:等待审核;Question:异常;WaitDeliver:平台接口告知ERP订单项解锁可发货的状态; WaitFConfirm:等待财务审核;Delivering:发货中;WaitOuterSent:等待外仓发货;Sent:已发货;OuterSent:外仓发货;Merged:被合并;Cancelled:用户取消订单;Replaced:被替换(明细);Split:被拆分; Delete:删除;Lock:锁定;SentCancelled:发货后取消
+     */
+    private String itemStatus;
+
+    /**
+     * 子订单号,最长不超过20
+     */
+    private Long oiId;
+
+    /**
+     * 退款的唯一单号
+     */
+    private String refundId;
+
+    /**
+     * 店铺商品编码,对应店铺商品资料页面平台店铺商品编码
+     */
+    private String shopSkuId;
+
+    /**
+     * 原始线上单号
+     */
+    private String rawSoId;
+
+    /**
+     * 属性
+     */
+    private String propertiesValue;
+
+    /**
+     * 是否赠品
+     */
+    private Boolean isGift;
+
+    /**
+     * 数量
+     */
+    private Integer qty;
+
+    /**
+     * 商品名称
+     */
+    private String name;
+
+}

+ 394 - 0
hx-jushuitan/src/main/java/com/fjhx/jushuitan/entity/jst/po/JstOrderInfo.java

@@ -0,0 +1,394 @@
+package com.fjhx.jushuitan.entity.jst.po;
+
+import com.ruoyi.common.core.domain.BaseIdPo;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.math.BigDecimal;
+import java.util.Date;
+
+import com.ruoyi.common.core.domain.BasePo;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 聚水潭订单表
+ * </p>
+ *
+ * @author 
+ * @since 2024-01-20
+ */
+@Getter
+@Setter
+@TableName("jst_order_info")
+public class JstOrderInfo extends BasePo {
+
+    /**
+     * 计划发货时间
+     */
+    private Date planDeliveryDate;
+
+    /**
+     * 主播id
+     */
+    private String referrerId;
+
+    /**
+     * 平台买家唯一值,仅支持抖音,快手,小红书
+     */
+    private String openId;
+
+    /**
+     * 实称重量
+     */
+    private BigDecimal fweight;
+
+    /**
+     * 分销商编号
+     */
+    private String drpCoIdFrom;
+
+    /**
+     * 买家ID(系统根据shop_buy_id生成的)
+     */
+    private String buyerId;
+
+    /**
+     * 订单类型,普通订单;补发订单;分销Plus;供销Plus;换货订单
+     */
+    private String type;
+
+    /**
+     * 折扣率?
+     */
+    private BigDecimal discountRate;
+
+    /**
+     * 发货日期
+     */
+    private Date sendDate;
+
+    /**
+     * 发票税号
+     */
+    private String buyerTaxNo;
+
+    /**
+     * 修改时间
+     */
+    private Date modified;
+
+    /**
+     * 国家代码;(映射关系参考https://openweb.jushuitan.com/doc?docId=225)
+     */
+    private String receiverCountry;
+
+    private String tag;
+
+    /**
+     * 买家实付(仅限抖音,拼多多,京东平台订单)
+     */
+    private BigDecimal buyerPaidAmount;
+
+    private String drpFrom;
+
+    /**
+     * 买家指定物流
+     */
+    private String shipment;
+
+    /**
+     * 	平台订单状态: 等待买家付款=WAIT_BUYER_PAY, 等待卖家发货=WAIT_SELLER_SEND_GOODS,等待买家确认收货=WAIT_BUYER_CONFIRM_GOODS, 交易成功=TRADE_FINISHED, 付款后交易关闭=TRADE_CLOSED,付款前交易关闭=TRADE_CLOSED_BY_TAOBAO;
+     */
+    private String shopStatus;
+
+    /**
+     * 买家留言
+     */
+    private String buyerMessage;
+
+    private String outerSoId;
+
+    /**
+     * 订单创建时间
+     */
+    private Date created;
+
+    private String drpTo;
+
+    private String isSplit;
+
+    /**
+     * 重量
+     */
+    private BigDecimal weight;
+
+    /**
+     * 店铺名称
+     */
+    private String shopName;
+
+    /**
+     * 多标签
+     */
+    private String labels;
+
+    /**
+     * 店铺编号
+     */
+    private Integer shopId;
+
+    /**
+     * 线下备注
+     */
+    private String node;
+
+    private BigDecimal ffreight;
+
+    /**
+     * 买家昵称
+     */
+    private String shopBuyerId;
+
+    /**
+     * 发货仓编号
+     */
+    private String wmsCoId;
+
+    /**
+     * 供销商编号
+     */
+    private String drpCoIdTo;
+
+    /**
+     * 实际支付金额
+     */
+    private BigDecimal paidAmount;
+
+    /**
+     * 主播名称
+     */
+    private String referrerName;
+
+    /**
+     * 被合并被拆分的订单内部单号
+     */
+    private Integer linkOId;
+
+    /**
+     * 聚水潭订单状态 待付款:WaitPay;发货中:Delivering;被合并:Merged;异常:Question;被拆分:Split;等供销商|外仓发货:WaitOuterSent;已付款待审核:WaitConfirm;已客审待财审:WaitFConfirm;已发货:Sent;取消:Cancelled
+     */
+    private String status;
+
+    private Date extDatas;
+
+    /**
+     * 物流公司编码
+     */
+    private String lcId;
+
+    /**
+     * 商品
+     */
+    private String skus;
+
+    /**
+     * 问题描述
+     */
+    private String questionDesc;
+
+    /**
+     * 补发换货单对应的售后单号
+     */
+    private Object asId;
+
+    /**
+     * 收件信息-市
+     */
+    private String receiverCity;
+
+    /**
+     * 发票抬头
+     */
+    private String invoiceTitle;
+
+    private Integer outerAsId;
+
+    /**
+     * 运费,保留两位小数,单位(元)
+     */
+    private BigDecimal freight;
+
+    /**
+     * 订单备注;卖家备注
+     */
+    private String remark;
+
+    /**
+     * 是否货到付款
+     */
+    private Boolean isCod;
+
+    /**
+     * 收件信息-省
+     */
+    private String receiverState;
+
+    private String glasses;
+
+    /**
+     * 邮编
+     */
+    private String receiverZip;
+
+    /**
+     * 线上订单号,线上同步过来的订单号,最长不超过20;唯一
+     */
+    private String soId;
+
+    /**
+     * ERP内部订单号,聚水潭生成的订单号,唯一
+     */
+    private Long oid;
+
+    /**
+     * 收件信息-收件人
+     */
+    private String receiverName;
+
+    /**
+     * 币种
+     */
+    private String currency;
+
+    /**
+     * 发票类型
+     */
+    private String invoiceType;
+
+    /**
+     * 卖家实收
+     */
+    private BigDecimal sellerIncomeAmount;
+
+    /**
+     * 抵扣金额
+     */
+    private BigDecimal freeAmount;
+
+    /**
+     * 外部支付单号
+     */
+    private String outerPayId;
+
+    /**
+     * 不知道啥金额,文档没写
+     */
+    private BigDecimal amount;
+
+    /**
+     * 问题类型,仅当问题订单时有效
+     */
+    private String questionType;
+
+    /**
+     * 区
+     */
+    private String receiverDistrict;
+
+    /**
+     * 收件信息-街道
+     */
+    private String receiverTown;
+
+    /**
+     * 应付金额,保留两位小数,单位(元)
+     */
+    private BigDecimal payAmount;
+
+    /**
+     * 公司编号
+     */
+    private Integer coId;
+
+    /**
+     * 确认收货时间(仅限头条放心购、拼多多、苏宁易购、快手电商、有赞微商城,如果线上状态为取消,该时间为完结时间)
+     */
+    private Date endTime;
+
+    /**
+     * 店铺站点信息
+     */
+    private String shopSite;
+
+    /**
+     * 手机
+     */
+    private String receiverMobile;
+
+    /**
+     * 预计送达时间
+     */
+    private Date signTime;
+
+    /**
+     * 旗帜(1红旗,2黄旗,3绿旗,4蓝旗,5紫旗))
+     */
+    private String sellerFlag;
+
+    /**
+     * 订单日期
+     */
+    private Date orderDate;
+
+    /**
+     * 合并线上订单号
+     */
+    private String mergeSoId;
+
+    private String rawSoId;
+
+    /**
+     * 订单来源,ERP:手工下单; COPY:复制; MERGE:合并; SPLIT:拆分;拆分还原; MOBILE:手机; IMPORT:导入; drp-s:供销推送; drp-d:分销推送; KWAISHOP:快手;微商城; PINDUODUO;拼多多; TOUTIAOFXG;头条放心购
+     */
+    private String orderFrom;
+
+    private String isMerge;
+
+    /**
+     * 收货地址
+     */
+    private String receiverAddress;
+
+    /**
+     * 快递公司
+     */
+    private String logisticsCompany;
+
+    /**
+     * 订单业务员
+     */
+    private String creatorName;
+
+    /**
+     * 快递单号
+     */
+    private String lid;
+
+    /**
+     * 电话
+     */
+    private String receiverPhone;
+
+    /**
+     * 数据库行版本号:https://docs.microsoft.com/zh-cn/sql/t-sql/data-types/rowversion-transact-sql?view=sql-server-ver16
+     */
+    private Long ts;
+
+    /**
+     * 部门id
+     */
+    private Long deptId;
+
+}

+ 70 - 0
hx-jushuitan/src/main/java/com/fjhx/jushuitan/entity/jst/po/JstOrderPayInfo.java

@@ -0,0 +1,70 @@
+package com.fjhx.jushuitan.entity.jst.po;
+
+import com.ruoyi.common.core.domain.BaseIdPo;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.math.BigDecimal;
+import java.util.Date;
+
+import com.ruoyi.common.core.domain.BasePo;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 聚水潭支付信息表
+ * </p>
+ *
+ * @author 
+ * @since 2024-01-20
+ */
+@Getter
+@Setter
+@TableName("jst_order_pay_info")
+public class JstOrderPayInfo extends BasePo {
+
+    private Long orderId;
+
+    /**
+     * 外部支付单号
+     */
+    private String outerPayId;
+
+    /**
+     * 支付时间
+     */
+    private Date payDate;
+
+    /**
+     * 支付金额
+     */
+    private BigDecimal amount;
+
+    /**
+     * 支付帐号
+     */
+    private String buyerAccount;
+
+    private Long oid;
+
+    /**
+     * 支付渠道
+     */
+    private String payment;
+
+    /**
+     * 是否支付
+     */
+    private Boolean isOrderPay;
+
+    private Integer payType;
+
+    /**
+     * 支付单ID
+     */
+    private Integer payId;
+
+    private String status;
+
+}

+ 17 - 0
hx-jushuitan/src/main/java/com/fjhx/jushuitan/entity/jst/vo/JstOrderDetailVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.jushuitan.entity.jst.vo;
+
+import com.fjhx.jushuitan.entity.jst.po.JstOrderDetail;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 聚水潭订单明细表列表查询返回值实体
+ *
+ * @author 
+ * @since 2024-01-20
+ */
+@Getter
+@Setter
+public class JstOrderDetailVo extends JstOrderDetail {
+
+}

+ 21 - 0
hx-jushuitan/src/main/java/com/fjhx/jushuitan/entity/jst/vo/JstOrderInfoVo.java

@@ -0,0 +1,21 @@
+package com.fjhx.jushuitan.entity.jst.vo;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import com.fjhx.jushuitan.entity.jst.po.JstOrderInfo;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * 聚水潭订单表列表查询返回值实体
+ *
+ * @author 
+ * @since 2024-01-20
+ */
+@Getter
+@Setter
+public class JstOrderInfoVo extends JstOrderInfo {
+    List<JstOrderDetailVo> items;
+    List<JstOrderPayInfoVo> pays;
+}

+ 17 - 0
hx-jushuitan/src/main/java/com/fjhx/jushuitan/entity/jst/vo/JstOrderPayInfoVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.jushuitan.entity.jst.vo;
+
+import com.fjhx.jushuitan.entity.jst.po.JstOrderPayInfo;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 聚水潭支付信息表列表查询返回值实体
+ *
+ * @author 
+ * @since 2024-01-20
+ */
+@Getter
+@Setter
+public class JstOrderPayInfoVo extends JstOrderPayInfo {
+
+}

+ 34 - 0
hx-jushuitan/src/main/java/com/fjhx/jushuitan/entity/jushuitan/vo/JstApiOrderInfoVO.java

@@ -0,0 +1,34 @@
+package com.fjhx.jushuitan.entity.jushuitan.vo;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import com.fjhx.jushuitan.entity.jst.po.JstOrderInfo;
+import com.fjhx.jushuitan.entity.jst.vo.JstOrderInfoVo;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class JstApiOrderInfoVO {
+    Integer code;
+    String msg;
+    ResponseData data;
+
+
+
+
+    @Data
+    public static class ResponseData {
+        String requestId;
+        @JSONField(name = "page_index")
+        String pageIndex;
+        @JSONField(name = "has_next")
+        boolean hasNext;
+        List<JstOrderInfoVo> orders;
+        @JSONField(name = "data_count")
+        Integer dataCount;
+        @JSONField(name = "page_count")
+        Integer pageCount;
+        @JSONField(name = "page_size")
+        Integer pageSize;
+    }
+}

+ 24 - 0
hx-jushuitan/src/main/java/com/fjhx/jushuitan/entity/jushuitan/vo/RefreshTokenResponseVO.java

@@ -0,0 +1,24 @@
+package com.fjhx.jushuitan.entity.jushuitan.vo;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import lombok.Data;
+
+@Data
+public class RefreshTokenResponseVO {
+    Integer code;
+    String msg;
+    ResponseData data;
+
+
+
+
+    @Data
+    public static class ResponseData {
+        @JSONField(name = "access_token")
+        String accessToken;
+        @JSONField(name = "refresh_token")
+        String refreshToken;
+        @JSONField(name = "expires_in")
+        Long expiresIn;
+    }
+}

+ 28 - 0
hx-jushuitan/src/main/java/com/fjhx/jushuitan/initializers/JstInitializer.java

@@ -0,0 +1,28 @@
+package com.fjhx.jushuitan.initializers;
+
+import com.fjhx.jushuitan.constants.JstConstant;
+import com.fjhx.jushuitan.service.api.JstApiService;
+import com.jushuitan.api.*;
+import com.jushuitan.api.exception.ApiException;
+import com.jushuitan.api.util.AuthUtil;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.PostConstruct;
+import javax.annotation.Resource;
+import java.io.IOException;
+
+@Component
+public class JstInitializer {
+    @Resource
+    JstApiService jstApiService;
+
+    @PostConstruct
+    public void dataInitializer() {
+        jstApiService.startOrder();
+    }
+
+
+
+
+
+}

+ 32 - 0
hx-jushuitan/src/main/java/com/fjhx/jushuitan/mapper/jst/JstOrderDetailMapper.java

@@ -0,0 +1,32 @@
+package com.fjhx.jushuitan.mapper.jst;
+
+import com.fjhx.jushuitan.entity.jst.po.JstOrderDetail;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.jushuitan.entity.jst.vo.JstOrderDetailVo;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 聚水潭订单明细表 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2024-01-20
+ */
+public interface JstOrderDetailMapper extends BaseMapper<JstOrderDetail> {
+
+    /**
+     * 聚水潭订单明细表列表
+     */
+    List<JstOrderDetailVo> getList(@Param("ew") IWrapper<JstOrderDetail> wrapper);
+
+    /**
+     * 聚水潭订单明细表分页
+     */
+    Page<JstOrderDetailVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<JstOrderDetail> wrapper);
+
+}

+ 32 - 0
hx-jushuitan/src/main/java/com/fjhx/jushuitan/mapper/jst/JstOrderInfoMapper.java

@@ -0,0 +1,32 @@
+package com.fjhx.jushuitan.mapper.jst;
+
+import com.fjhx.jushuitan.entity.jst.po.JstOrderInfo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.jushuitan.entity.jst.vo.JstOrderInfoVo;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 聚水潭订单表 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2024-01-20
+ */
+public interface JstOrderInfoMapper extends BaseMapper<JstOrderInfo> {
+
+    /**
+     * 聚水潭订单表列表
+     */
+    List<JstOrderInfoVo> getList(@Param("ew") IWrapper<JstOrderInfo> wrapper);
+
+    /**
+     * 聚水潭订单表分页
+     */
+    Page<JstOrderInfoVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<JstOrderInfo> wrapper);
+
+}

+ 32 - 0
hx-jushuitan/src/main/java/com/fjhx/jushuitan/mapper/jst/JstOrderPayInfoMapper.java

@@ -0,0 +1,32 @@
+package com.fjhx.jushuitan.mapper.jst;
+
+import com.fjhx.jushuitan.entity.jst.po.JstOrderPayInfo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.jushuitan.entity.jst.vo.JstOrderPayInfoVo;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 聚水潭支付信息表 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2024-01-20
+ */
+public interface JstOrderPayInfoMapper extends BaseMapper<JstOrderPayInfo> {
+
+    /**
+     * 聚水潭支付信息表列表
+     */
+    List<JstOrderPayInfoVo> getList(@Param("ew") IWrapper<JstOrderPayInfo> wrapper);
+
+    /**
+     * 聚水潭支付信息表分页
+     */
+    Page<JstOrderPayInfoVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<JstOrderPayInfo> wrapper);
+
+}

+ 239 - 0
hx-jushuitan/src/main/java/com/fjhx/jushuitan/service/api/JstApiService.java

@@ -0,0 +1,239 @@
+package com.fjhx.jushuitan.service.api;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.date.DateUnit;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.thread.ThreadUtil;
+import cn.hutool.core.util.NumberUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.SerializeUtil;
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.parser.ParserConfig;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.PropertyNamingStrategy;
+import com.fjhx.jushuitan.constants.JstConstant;
+import com.fjhx.jushuitan.entity.jst.dto.JstOrderDetailDto;
+import com.fjhx.jushuitan.entity.jst.po.JstOrderDetail;
+import com.fjhx.jushuitan.entity.jst.po.JstOrderInfo;
+import com.fjhx.jushuitan.entity.jst.po.JstOrderPayInfo;
+import com.fjhx.jushuitan.entity.jst.vo.JstOrderDetailVo;
+import com.fjhx.jushuitan.entity.jst.vo.JstOrderInfoVo;
+import com.fjhx.jushuitan.entity.jst.vo.JstOrderPayInfoVo;
+import com.fjhx.jushuitan.entity.jushuitan.po.JushuitanConfig;
+import com.fjhx.jushuitan.entity.jushuitan.vo.JstApiOrderInfoVO;
+import com.fjhx.jushuitan.entity.jushuitan.vo.RefreshTokenResponseVO;
+import com.fjhx.jushuitan.service.jst.JstOrderDetailService;
+import com.fjhx.jushuitan.service.jst.JstOrderInfoService;
+import com.fjhx.jushuitan.service.jst.JstOrderPayInfoService;
+import com.fjhx.jushuitan.service.jushuitan.JushuitanConfigService;
+import com.jushuitan.api.*;
+import com.jushuitan.api.exception.ApiException;
+import com.jushuitan.api.util.AuthUtil;
+import com.ruoyi.common.core.domain.entity.SysDept;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.system.service.ISysDeptService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.scheduling.annotation.Async;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.io.IOException;
+import java.util.Date;
+import java.util.List;
+import java.util.logging.Logger;
+import java.util.stream.Collectors;
+
+@Service
+@Slf4j
+public class JstApiService {
+    @Resource
+    JushuitanConfigService jstConfigService;
+    @Resource
+    JstOrderInfoService jstOrderInfoService;
+    @Resource
+    JstOrderDetailService jstOrderDetailService;
+    @Resource
+    JstOrderPayInfoService jstOrderPayInfoService;
+    @Resource
+    ISysDeptService sysDeptService;
+
+    /**
+     * 刷新token(每天凌晨1点刷新)
+     */
+    @Scheduled(cron = "0 0 1  * * ? ")
+    public void refreshToken() {
+        SecurityUtils.setTenantId(JstConstant.TENANT_ID);
+        List<JushuitanConfig> list = jstConfigService.list();
+        for (JushuitanConfig jushuitanConfig : list) {
+            if(StrUtil.isBlank(jushuitanConfig.getRefreshToken())){
+                log.error("刷新token失败,refreshToken为空,jushuitanConfig:{}",JSON.toJSONString(jushuitanConfig));
+                continue;
+            }
+            //如果有效期时间小于15天,刷新token
+            Date effectiveDate = jushuitanConfig.getEffectiveDate();
+            if(ObjectUtil.isNull(effectiveDate) || DateUtil.betweenDay(effectiveDate, DateUtil.date(), true) < 15){
+                // 设置超时时间
+                AuthRequest authRequest = new AuthRequest.Builder(jushuitanConfig.getAppKey(), jushuitanConfig.getAppSecret()).refreshToken(jushuitanConfig.getRefreshToken()).build();
+                try {
+                    String s = AuthUtil.refreshToken(authRequest);
+                    RefreshTokenResponseVO refreshTokenResponseVO = JSONObject.parseObject(s, RefreshTokenResponseVO.class);
+                    if (JstConstant.SUCCESS_CODE.equals(refreshTokenResponseVO.getCode())) {
+                        RefreshTokenResponseVO.ResponseData data = refreshTokenResponseVO.getData();
+                        jushuitanConfig.setAccessToken(data.getAccessToken());
+                        jushuitanConfig.setRefreshToken(data.getRefreshToken());
+                        jushuitanConfig.setEffectiveDate(DateUtil.offsetSecond(DateUtil.date(), NumberUtil.parseInt(StrUtil.toString(data.getExpiresIn()))));
+                        jstConfigService.updateById(jushuitanConfig);
+                    } else {
+                        log.error("刷新token失败,jushuitanConfig:{},refreshTokenResponseVO:{}", JSON.toJSONString(jushuitanConfig), JSON.toJSONString(refreshTokenResponseVO));
+                    }
+                    System.out.println("body: " + s);
+                } catch (ApiException e) {
+                    switch (e.getCodeEnum()) {
+                        case PARAM_ERROR:
+                            // TODO check param
+                            log.error("参数错误,jushuitanConfig:{}", JSON.toJSONString(jushuitanConfig));
+                            break;
+                    }
+                } catch (IOException e) {
+                    log.error("IO异常,jushuitanConfig:{}", JSON.toJSONString(jushuitanConfig));
+                }
+            }
+        }
+        SecurityUtils.clearTenantId();
+    }
+
+    public void getOrder(JushuitanConfig jushuitanConfig) {
+        int pageIndex = JstConstant.PAGE_INDEX;
+        int totalPage;
+        JSONObject bizJson = new JSONObject();
+        //查询库里数据,获取最后一次ts
+        Long lastTs = jstOrderInfoService.getLastTs();
+        try {
+            do{
+                if (ObjectUtil.isNull(lastTs)) {
+                    bizJson.put("modified_begin", DateUtil.beginOfDay(DateUtil.offsetDay(DateUtil.date(), -6)));
+                    bizJson.put("modified_end", DateUtil.endOfDay(DateUtil.date()));
+                    bizJson.put("page_size", JstConstant.PAGE_SIZE);
+                    bizJson.put("page_index", pageIndex);
+                }else {
+                    bizJson.put("page_size", JstConstant.PAGE_SIZE);
+                    bizJson.put("start_ts", lastTs);
+                }
+                String body = executeJst(bizJson);
+                ParserConfig specialConfig = new ParserConfig();
+                specialConfig.propertyNamingStrategy = PropertyNamingStrategy.SnakeCase;
+                JstApiOrderInfoVO jstApiOrderInfoVO = JSONObject.parseObject(body, JstApiOrderInfoVO.class, specialConfig);
+                JstApiOrderInfoVO.ResponseData data = jstApiOrderInfoVO.getData();
+                if (ObjectUtil.isNull(data)) {
+                    log.error("获取订单失败,jushuitanConfig:{},jstApiOrderInfoVO:{}", JSON.toJSONString(jushuitanConfig), JSON.toJSONString(jstApiOrderInfoVO));
+                    throw new ApiException(ApiCodeEnum.SYS_ERROR);
+                }
+                totalPage = data.getPageCount();
+                handleDbData(data.getOrders());
+                //获取最后一条的ts
+                lastTs = data.getOrders().get(data.getOrders().size() - 1).getTs();
+                pageIndex++;
+            } while (pageIndex <= totalPage);
+        } catch (ApiException e) {
+            switch (e.getCodeEnum()) {
+                case SYS_ERROR:
+                case PARAM_ERROR:
+                case SIGN_ERROR:
+                case CONNECT_ERROR:
+                case TIME_OUT_ERROR:
+                case EXECUTE_ERROR:
+                    log.error("获取订单失败,jushuitanConfig:{}", JSON.toJSONString(jushuitanConfig), e);
+                    break;
+            }
+        } catch (Exception e) {
+            log.error("获取订" +
+                    "单失败,jushuitanConfig:{}", JSON.toJSONString(jushuitanConfig), e);
+        }
+    }
+
+    /**
+     * 处理数据库数据
+     * @param orders
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public void handleDbData(List<JstOrderInfoVo> orders) {
+        for (JstOrderInfoVo order : orders) {
+            //如果订单已存在,
+            Long oid = order.getOid();
+            List<JstOrderInfo> list = jstOrderInfoService.lambdaQuery().eq(JstOrderInfo::getOid, oid).list();
+            if (ObjectUtil.isNotEmpty(list)) {
+                jstOrderInfoService.lambdaUpdate().eq(JstOrderInfo::getOid, oid).remove();
+                jstOrderDetailService.lambdaUpdate().eq(JstOrderDetail::getOrderId, oid).remove();
+                jstOrderPayInfoService.lambdaUpdate().eq(JstOrderPayInfo::getOrderId, oid).remove();
+            }
+
+            String drpFrom = order.getDrpFrom();
+            if(StrUtil.isNotBlank(drpFrom)){
+                sysDeptService.lambdaQuery().eq(SysDept::getJstDistributor, drpFrom).oneOpt().ifPresent(o -> {
+                    order.setDeptId(o.getDeptId());
+                });
+            }
+
+            jstOrderInfoService.save(order);
+            List<JstOrderDetailVo> items = order.getItems();
+            List<JstOrderDetail> detailDtoList = items.stream().map(o -> {
+                o.setOrderId(order.getId());
+                JstOrderDetail jstOrderDetailDto = BeanUtil.toBean(o, JstOrderDetail.class);
+                return jstOrderDetailDto;
+            }).collect(Collectors.toList());
+            jstOrderDetailService.saveBatch(detailDtoList);
+            List<JstOrderPayInfoVo> pays = order.getPays();
+            List<JstOrderPayInfo> payDtoList = pays.stream().map(o -> {
+                o.setOrderId(order.getId());
+                JstOrderPayInfo jstOrderPayInfoDto = BeanUtil.toBean(o, JstOrderPayInfo.class);
+                return jstOrderPayInfoDto;
+            }).collect(Collectors.toList());
+            jstOrderPayInfoService.saveBatch(payDtoList);
+        }
+    }
+
+
+    private String executeJst(JSONObject bizJson){
+        // 实例化client
+        ApiClient client = new DefaultApiClient();
+        // 设置超时时间
+        //        ((DefaultApiClient)client).setReadTimeout(3000);
+        //        ((DefaultApiClient)client).setConnectTimeout(2000);
+
+        String url = JstConstant.DOMAIN_URL+JstConstant.QUERY_ORDER;
+        String biz = bizJson.toString();
+        // 构建请求对象
+        ApiRequest request = new ApiRequest.Builder(url, JstConstant.APP_KEY, JstConstant.APP_SECRET)
+                .biz(biz).build();
+        // 执行接口调用
+        ApiResponse response = client.execute(request, JstConstant.ACCESS_TOKEN);
+        if (!response.isSuccess()) {
+            log.error("获取订单失败,response:{}", JSON.toJSONString(response));
+            throw new ApiException(ApiCodeEnum.SYS_ERROR);
+        }
+        return response.getBody();
+    }
+
+    @Async
+    public void startOrder() {
+        ThreadUtil.safeSleep(JstConstant.SLEEP_ONE_MINUTE);
+        while (true){
+            SecurityUtils.setTenantId(JstConstant.TENANT_ID);
+            List<JushuitanConfig> list = jstConfigService.list();
+            for (JushuitanConfig jushuitanConfig : list) {
+                if (StrUtil.isBlank(jushuitanConfig.getAccessToken()) || StrUtil.isBlank(jushuitanConfig.getAppKey()) || StrUtil.isBlank(jushuitanConfig.getAppSecret()) || DateUtil.between(DateUtil.date(), jushuitanConfig.getEffectiveDate(), DateUnit.DAY, false) < 0) {
+                    log.error("获取订单失败,accessToken、appKey、appSecret为空、token有效期失效,jushuitanConfig:{}", JSON.toJSONString(jushuitanConfig));
+                    ThreadUtil.safeSleep(JstConstant.SLEEP_ONE_MINUTE);
+                    continue;
+                }
+                getOrder(jushuitanConfig);
+                log.info("订单采集完成:appKey为:{}", jushuitanConfig.getAppKey());
+                ThreadUtil.safeSleep(JstConstant.SLEEP_ONE_MINUTE);
+            }
+            SecurityUtils.clearTenantId();
+        }
+    }
+}

+ 52 - 0
hx-jushuitan/src/main/java/com/fjhx/jushuitan/service/jst/JstOrderDetailService.java

@@ -0,0 +1,52 @@
+package com.fjhx.jushuitan.service.jst;
+
+import com.fjhx.jushuitan.entity.jst.po.JstOrderDetail;
+import com.ruoyi.common.core.service.BaseService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.jushuitan.entity.jst.vo.JstOrderDetailVo;
+import com.fjhx.jushuitan.entity.jst.dto.JstOrderDetailSelectDto;
+import com.fjhx.jushuitan.entity.jst.dto.JstOrderDetailDto;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 聚水潭订单明细表 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2024-01-20
+ */
+public interface JstOrderDetailService extends BaseService<JstOrderDetail> {
+
+    /**
+     * 聚水潭订单明细表列表
+     */
+    List<JstOrderDetailVo> getList(JstOrderDetailSelectDto dto);
+
+    /**
+     * 聚水潭订单明细表分页
+     */
+    Page<JstOrderDetailVo> getPage(JstOrderDetailSelectDto dto);
+
+    /**
+     * 聚水潭订单明细表明细
+     */
+    JstOrderDetailVo detail(Long id);
+
+    /**
+     * 聚水潭订单明细表新增
+     */
+    void add(JstOrderDetailDto jstOrderDetailDto);
+
+    /**
+     * 聚水潭订单明细表编辑
+     */
+    void edit(JstOrderDetailDto jstOrderDetailDto);
+
+    /**
+     * 聚水潭订单明细表删除
+     */
+    void delete(Long id);
+
+}

+ 53 - 0
hx-jushuitan/src/main/java/com/fjhx/jushuitan/service/jst/JstOrderInfoService.java

@@ -0,0 +1,53 @@
+package com.fjhx.jushuitan.service.jst;
+
+import com.fjhx.jushuitan.entity.jst.po.JstOrderInfo;
+import com.ruoyi.common.core.service.BaseService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.jushuitan.entity.jst.vo.JstOrderInfoVo;
+import com.fjhx.jushuitan.entity.jst.dto.JstOrderInfoSelectDto;
+import com.fjhx.jushuitan.entity.jst.dto.JstOrderInfoDto;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 聚水潭订单表 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2024-01-20
+ */
+public interface JstOrderInfoService extends BaseService<JstOrderInfo> {
+
+    /**
+     * 聚水潭订单表列表
+     */
+    List<JstOrderInfoVo> getList(JstOrderInfoSelectDto dto);
+
+    /**
+     * 聚水潭订单表分页
+     */
+    Page<JstOrderInfoVo> getPage(JstOrderInfoSelectDto dto);
+
+    /**
+     * 聚水潭订单表明细
+     */
+    JstOrderInfoVo detail(Long id);
+
+    /**
+     * 聚水潭订单表新增
+     */
+    void add(JstOrderInfoDto jstOrderInfoDto);
+
+    /**
+     * 聚水潭订单表编辑
+     */
+    void edit(JstOrderInfoDto jstOrderInfoDto);
+
+    /**
+     * 聚水潭订单表删除
+     */
+    void delete(Long id);
+
+    Long getLastTs();
+}

+ 52 - 0
hx-jushuitan/src/main/java/com/fjhx/jushuitan/service/jst/JstOrderPayInfoService.java

@@ -0,0 +1,52 @@
+package com.fjhx.jushuitan.service.jst;
+
+import com.fjhx.jushuitan.entity.jst.po.JstOrderPayInfo;
+import com.ruoyi.common.core.service.BaseService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.jushuitan.entity.jst.vo.JstOrderPayInfoVo;
+import com.fjhx.jushuitan.entity.jst.dto.JstOrderPayInfoSelectDto;
+import com.fjhx.jushuitan.entity.jst.dto.JstOrderPayInfoDto;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 聚水潭支付信息表 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2024-01-20
+ */
+public interface JstOrderPayInfoService extends BaseService<JstOrderPayInfo> {
+
+    /**
+     * 聚水潭支付信息表列表
+     */
+    List<JstOrderPayInfoVo> getList(JstOrderPayInfoSelectDto dto);
+
+    /**
+     * 聚水潭支付信息表分页
+     */
+    Page<JstOrderPayInfoVo> getPage(JstOrderPayInfoSelectDto dto);
+
+    /**
+     * 聚水潭支付信息表明细
+     */
+    JstOrderPayInfoVo detail(Long id);
+
+    /**
+     * 聚水潭支付信息表新增
+     */
+    void add(JstOrderPayInfoDto jstOrderPayInfoDto);
+
+    /**
+     * 聚水潭支付信息表编辑
+     */
+    void edit(JstOrderPayInfoDto jstOrderPayInfoDto);
+
+    /**
+     * 聚水潭支付信息表删除
+     */
+    void delete(Long id);
+
+}

+ 66 - 0
hx-jushuitan/src/main/java/com/fjhx/jushuitan/service/jst/impl/JstOrderDetailServiceImpl.java

@@ -0,0 +1,66 @@
+package com.fjhx.jushuitan.service.jst.impl;
+
+import com.fjhx.jushuitan.entity.jst.po.JstOrderDetail;
+import com.fjhx.jushuitan.mapper.jst.JstOrderDetailMapper;
+import com.fjhx.jushuitan.service.jst.JstOrderDetailService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.jushuitan.entity.jst.vo.JstOrderDetailVo;
+import com.fjhx.jushuitan.entity.jst.dto.JstOrderDetailSelectDto;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.fjhx.jushuitan.entity.jst.dto.JstOrderDetailDto;
+import cn.hutool.core.bean.BeanUtil;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 聚水潭订单明细表 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2024-01-20
+ */
+@Service
+public class JstOrderDetailServiceImpl extends ServiceImpl<JstOrderDetailMapper, JstOrderDetail> implements JstOrderDetailService {
+
+    @Override
+    public List<JstOrderDetailVo> getList(JstOrderDetailSelectDto dto) {
+        IWrapper<JstOrderDetail> wrapper = getWrapper();
+        wrapper.orderByDesc("jod", JstOrderDetail::getId);
+        List<JstOrderDetailVo> list = this.baseMapper.getList(wrapper);
+        return list;
+    }
+
+    @Override
+    public Page<JstOrderDetailVo> getPage(JstOrderDetailSelectDto dto) {
+        IWrapper<JstOrderDetail> wrapper = getWrapper();
+        wrapper.orderByDesc("jod", JstOrderDetail::getId);
+        Page<JstOrderDetailVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
+        return page;
+    }
+
+    @Override
+    public JstOrderDetailVo detail(Long id) {
+        JstOrderDetail JstOrderDetail = this.getById(id);
+        JstOrderDetailVo result = BeanUtil.toBean(JstOrderDetail, JstOrderDetailVo.class);
+        return result;
+    }
+
+    @Override
+    public void add(JstOrderDetailDto jstOrderDetailDto) {
+        this.save(jstOrderDetailDto);
+    }
+
+    @Override
+    public void edit(JstOrderDetailDto jstOrderDetailDto) {
+        this.updateById(jstOrderDetailDto);
+    }
+
+    @Override
+    public void delete(Long id) {
+        this.removeById(id);
+    }
+
+}

+ 96 - 0
hx-jushuitan/src/main/java/com/fjhx/jushuitan/service/jst/impl/JstOrderInfoServiceImpl.java

@@ -0,0 +1,96 @@
+package com.fjhx.jushuitan.service.jst.impl;
+
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.fjhx.jushuitan.entity.jst.po.JstOrderDetail;
+import com.fjhx.jushuitan.entity.jst.po.JstOrderInfo;
+import com.fjhx.jushuitan.entity.jst.vo.JstOrderDetailVo;
+import com.fjhx.jushuitan.mapper.jst.JstOrderInfoMapper;
+import com.fjhx.jushuitan.service.jst.JstOrderDetailService;
+import com.fjhx.jushuitan.service.jst.JstOrderInfoService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.jushuitan.entity.jst.vo.JstOrderInfoVo;
+import com.fjhx.jushuitan.entity.jst.dto.JstOrderInfoSelectDto;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.fjhx.jushuitan.entity.jst.dto.JstOrderInfoDto;
+import cn.hutool.core.bean.BeanUtil;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Optional;
+
+/**
+ * <p>
+ * 聚水潭订单表 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2024-01-20
+ */
+@Service
+public class JstOrderInfoServiceImpl extends ServiceImpl<JstOrderInfoMapper, JstOrderInfo> implements JstOrderInfoService {
+    @Resource
+    JstOrderDetailService jstOrderDetailService;
+
+    @Override
+    public List<JstOrderInfoVo> getList(JstOrderInfoSelectDto dto) {
+        IWrapper<JstOrderInfo> wrapper = getWrapper();
+        wrapper.orderByDesc("joi", JstOrderInfo::getId);
+        List<JstOrderInfoVo> list = this.baseMapper.getList(wrapper);
+        return list;
+    }
+
+    @Override
+    public Page<JstOrderInfoVo> getPage(JstOrderInfoSelectDto dto) {
+        IWrapper<JstOrderInfo> wrapper = getWrapper();
+        if(ObjectUtil.isNotNull(dto.getStartTime())){
+            wrapper.ge("joi", JstOrderInfo::getCreated, DateUtil.beginOfDay(dto.getStartTime()));
+        }
+        if(ObjectUtil.isNotNull(dto.getEndTime())){
+            wrapper.le("joi", JstOrderInfo::getCreated, DateUtil.endOfDay(dto.getEndTime()));
+        }
+        wrapper.like("joi", JstOrderInfo::getOid, dto.getOid());
+        wrapper.eq("joi", JstOrderInfo::getShopStatus, dto.getShopStatus());
+        wrapper.orderByDesc("joi", JstOrderInfo::getId);
+        Page<JstOrderInfoVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
+        return page;
+    }
+
+    @Override
+    public JstOrderInfoVo detail(Long id) {
+        JstOrderInfo JstOrderInfo = this.getById(id);
+        JstOrderInfoVo result = BeanUtil.toBean(JstOrderInfo, JstOrderInfoVo.class);
+
+        List<JstOrderDetail> detailList = jstOrderDetailService.lambdaQuery().eq(JstOrderDetail::getOrderId, id).list();
+        if (CollectionUtil.isNotEmpty(detailList)){
+            result.setItems(BeanUtil.copyToList(detailList, JstOrderDetailVo.class));
+        }
+
+        return result;
+    }
+
+    @Override
+    public void add(JstOrderInfoDto jstOrderInfoDto) {
+        this.save(jstOrderInfoDto);
+    }
+
+    @Override
+    public void edit(JstOrderInfoDto jstOrderInfoDto) {
+        this.updateById(jstOrderInfoDto);
+    }
+
+    @Override
+    public void delete(Long id) {
+        this.removeById(id);
+    }
+
+
+    @Override
+    public Long getLastTs() {
+        JstOrderInfo last = lambdaQuery().orderByDesc(JstOrderInfo::getTs).last("limit 1").list().stream().findFirst().orElse(new JstOrderInfo());
+        return last.getTs();
+    }
+}

+ 66 - 0
hx-jushuitan/src/main/java/com/fjhx/jushuitan/service/jst/impl/JstOrderPayInfoServiceImpl.java

@@ -0,0 +1,66 @@
+package com.fjhx.jushuitan.service.jst.impl;
+
+import com.fjhx.jushuitan.entity.jst.po.JstOrderPayInfo;
+import com.fjhx.jushuitan.mapper.jst.JstOrderPayInfoMapper;
+import com.fjhx.jushuitan.service.jst.JstOrderPayInfoService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.jushuitan.entity.jst.vo.JstOrderPayInfoVo;
+import com.fjhx.jushuitan.entity.jst.dto.JstOrderPayInfoSelectDto;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.fjhx.jushuitan.entity.jst.dto.JstOrderPayInfoDto;
+import cn.hutool.core.bean.BeanUtil;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 聚水潭支付信息表 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2024-01-20
+ */
+@Service
+public class JstOrderPayInfoServiceImpl extends ServiceImpl<JstOrderPayInfoMapper, JstOrderPayInfo> implements JstOrderPayInfoService {
+
+    @Override
+    public List<JstOrderPayInfoVo> getList(JstOrderPayInfoSelectDto dto) {
+        IWrapper<JstOrderPayInfo> wrapper = getWrapper();
+        wrapper.orderByDesc("jopi", JstOrderPayInfo::getId);
+        List<JstOrderPayInfoVo> list = this.baseMapper.getList(wrapper);
+        return list;
+    }
+
+    @Override
+    public Page<JstOrderPayInfoVo> getPage(JstOrderPayInfoSelectDto dto) {
+        IWrapper<JstOrderPayInfo> wrapper = getWrapper();
+        wrapper.orderByDesc("jopi", JstOrderPayInfo::getId);
+        Page<JstOrderPayInfoVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
+        return page;
+    }
+
+    @Override
+    public JstOrderPayInfoVo detail(Long id) {
+        JstOrderPayInfo JstOrderPayInfo = this.getById(id);
+        JstOrderPayInfoVo result = BeanUtil.toBean(JstOrderPayInfo, JstOrderPayInfoVo.class);
+        return result;
+    }
+
+    @Override
+    public void add(JstOrderPayInfoDto jstOrderPayInfoDto) {
+        this.save(jstOrderPayInfoDto);
+    }
+
+    @Override
+    public void edit(JstOrderPayInfoDto jstOrderPayInfoDto) {
+        this.updateById(jstOrderPayInfoDto);
+    }
+
+    @Override
+    public void delete(Long id) {
+        this.removeById(id);
+    }
+
+}

+ 82 - 0
hx-jushuitan/src/main/resources/mapper/jst/JstOrderDetailMapper.xml

@@ -0,0 +1,82 @@
+<?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.fjhx.jushuitan.mapper.jst.JstOrderDetailMapper">
+    <select id="getList" resultType="com.fjhx.jushuitan.entity.jst.vo.JstOrderDetailVo">
+        select
+            jod.id,
+            jod.order_id,
+            jod.iid,
+            jod.referrer_id,
+            jod.remark,
+            jod.pic,
+            jod.item_ext_data,
+            jod.shop_i_id,
+            jod.discount_rate,
+            jod.src_combine_sku_id,
+            jod.price,
+            jod.base_price,
+            jod.oid,
+            jod.seller_income_amount,
+            jod.outer_oi_id,
+            jod.buyer_paid_amount,
+            jod.is_presale,
+            jod.amount,
+            jod.send_warehouse,
+            jod.item_pay_amount,
+            jod.refund_status,
+            jod.sku_type,
+            jod.refund_qty,
+            jod.sku_id,
+            jod.item_status,
+            jod.oi_id,
+            jod.refund_id,
+            jod.shop_sku_id,
+            jod.raw_so_id,
+            jod.properties_value,
+            jod.is_gift,
+            jod.qty,
+            jod.name
+        from jst_order_detail jod
+            ${ew.customSqlSegment}
+    </select>
+
+    <select id="getPage" resultType="com.fjhx.jushuitan.entity.jst.vo.JstOrderDetailVo">
+        select
+            jod.id,
+            jod.order_id,
+            jod.iid,
+            jod.referrer_id,
+            jod.remark,
+            jod.pic,
+            jod.item_ext_data,
+            jod.shop_i_id,
+            jod.discount_rate,
+            jod.src_combine_sku_id,
+            jod.price,
+            jod.base_price,
+            jod.oid,
+            jod.seller_income_amount,
+            jod.outer_oi_id,
+            jod.buyer_paid_amount,
+            jod.is_presale,
+            jod.amount,
+            jod.send_warehouse,
+            jod.item_pay_amount,
+            jod.refund_status,
+            jod.sku_type,
+            jod.refund_qty,
+            jod.sku_id,
+            jod.item_status,
+            jod.oi_id,
+            jod.refund_id,
+            jod.shop_sku_id,
+            jod.raw_so_id,
+            jod.properties_value,
+            jod.is_gift,
+            jod.qty,
+            jod.name
+        from jst_order_detail jod
+            ${ew.customSqlSegment}
+    </select>
+
+</mapper>

+ 178 - 0
hx-jushuitan/src/main/resources/mapper/jst/JstOrderInfoMapper.xml

@@ -0,0 +1,178 @@
+<?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.fjhx.jushuitan.mapper.jst.JstOrderInfoMapper">
+    <select id="getList" resultType="com.fjhx.jushuitan.entity.jst.vo.JstOrderInfoVo">
+        select
+            joi.id,
+            joi.plan_delivery_date,
+            joi.referrer_id,
+            joi.open_id,
+            joi.fweight,
+            joi.drp_co_id_from,
+            joi.buyer_id,
+            joi.type,
+            joi.discount_rate,
+            joi.send_date,
+            joi.buyer_tax_no,
+            joi.modified,
+            joi.receiver_country,
+            joi.tag,
+            joi.buyer_paid_amount,
+            joi.drp_from,
+            joi.shipment,
+            joi.shop_status,
+            joi.buyer_message,
+            joi.outer_so_id,
+            joi.created,
+            joi.drp_to,
+            joi.is_split,
+            joi.weight,
+            joi.shop_name,
+            joi.labels,
+            joi.shop_id,
+            joi.node,
+            joi.ffreight,
+            joi.shop_buyer_id,
+            joi.wms_co_id,
+            joi.drp_co_id_to,
+            joi.paid_amount,
+            joi.referrer_name,
+            joi.link_o_id,
+            joi.status,
+            joi.ext_datas,
+            joi.lc_id,
+            joi.skus,
+            joi.question_desc,
+            joi.as_id,
+            joi.receiver_city,
+            joi.invoice_title,
+            joi.outer_as_id,
+            joi.freight,
+            joi.remark,
+            joi.is_cod,
+            joi.receiver_state,
+            joi.glasses,
+            joi.receiver_zip,
+            joi.so_id,
+            joi.oid,
+            joi.receiver_name,
+            joi.currency,
+            joi.invoice_type,
+            joi.seller_income_amount,
+            joi.free_amount,
+            joi.outer_pay_id,
+            joi.amount,
+            joi.question_type,
+            joi.receiver_district,
+            joi.receiver_town,
+            joi.pay_amount,
+            joi.co_id,
+            joi.end_time,
+            joi.shop_site,
+            joi.receiver_mobile,
+            joi.sign_time,
+            joi.seller_flag,
+            joi.order_date,
+            joi.merge_so_id,
+            joi.raw_so_id,
+            joi.order_from,
+            joi.is_merge,
+            joi.receiver_address,
+            joi.logistics_company,
+            joi.creator_name,
+            joi.lid,
+            joi.receiver_phone,
+            joi.ts,
+            joi.dept_id
+        from jst_order_info joi
+            ${ew.customSqlSegment}
+    </select>
+
+    <select id="getPage" resultType="com.fjhx.jushuitan.entity.jst.vo.JstOrderInfoVo">
+        select
+            joi.id,
+            joi.plan_delivery_date,
+            joi.referrer_id,
+            joi.open_id,
+            joi.fweight,
+            joi.drp_co_id_from,
+            joi.buyer_id,
+            joi.type,
+            joi.discount_rate,
+            joi.send_date,
+            joi.buyer_tax_no,
+            joi.modified,
+            joi.receiver_country,
+            joi.tag,
+            joi.buyer_paid_amount,
+            joi.drp_from,
+            joi.shipment,
+            joi.shop_status,
+            joi.buyer_message,
+            joi.outer_so_id,
+            joi.created,
+            joi.drp_to,
+            joi.is_split,
+            joi.weight,
+            joi.shop_name,
+            joi.labels,
+            joi.shop_id,
+            joi.node,
+            joi.ffreight,
+            joi.shop_buyer_id,
+            joi.wms_co_id,
+            joi.drp_co_id_to,
+            joi.paid_amount,
+            joi.referrer_name,
+            joi.link_o_id,
+            joi.status,
+            joi.ext_datas,
+            joi.lc_id,
+            joi.skus,
+            joi.question_desc,
+            joi.as_id,
+            joi.receiver_city,
+            joi.invoice_title,
+            joi.outer_as_id,
+            joi.freight,
+            joi.remark,
+            joi.is_cod,
+            joi.receiver_state,
+            joi.glasses,
+            joi.receiver_zip,
+            joi.so_id,
+            joi.oid,
+            joi.receiver_name,
+            joi.currency,
+            joi.invoice_type,
+            joi.seller_income_amount,
+            joi.free_amount,
+            joi.outer_pay_id,
+            joi.amount,
+            joi.question_type,
+            joi.receiver_district,
+            joi.receiver_town,
+            joi.pay_amount,
+            joi.co_id,
+            joi.end_time,
+            joi.shop_site,
+            joi.receiver_mobile,
+            joi.sign_time,
+            joi.seller_flag,
+            joi.order_date,
+            joi.merge_so_id,
+            joi.raw_so_id,
+            joi.order_from,
+            joi.is_merge,
+            joi.receiver_address,
+            joi.logistics_company,
+            joi.creator_name,
+            joi.lid,
+            joi.receiver_phone,
+            joi.ts,
+            joi.dept_id
+        from jst_order_info joi
+            ${ew.customSqlSegment}
+    </select>
+
+</mapper>

+ 40 - 0
hx-jushuitan/src/main/resources/mapper/jst/JstOrderPayInfoMapper.xml

@@ -0,0 +1,40 @@
+<?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.fjhx.jushuitan.mapper.jst.JstOrderPayInfoMapper">
+    <select id="getList" resultType="com.fjhx.jushuitan.entity.jst.vo.JstOrderPayInfoVo">
+        select
+            jopi.id,
+            jopi.order_id,
+            jopi.outer_pay_id,
+            jopi.pay_date,
+            jopi.amount,
+            jopi.buyer_account,
+            jopi.oid,
+            jopi.payment,
+            jopi.is_order_pay,
+            jopi.pay_type,
+            jopi.pay_id,
+            jopi.status
+        from jst_order_pay_info jopi
+            ${ew.customSqlSegment}
+    </select>
+
+    <select id="getPage" resultType="com.fjhx.jushuitan.entity.jst.vo.JstOrderPayInfoVo">
+        select
+            jopi.id,
+            jopi.order_id,
+            jopi.outer_pay_id,
+            jopi.pay_date,
+            jopi.amount,
+            jopi.buyer_account,
+            jopi.oid,
+            jopi.payment,
+            jopi.is_order_pay,
+            jopi.pay_type,
+            jopi.pay_id,
+            jopi.status
+        from jst_order_pay_info jopi
+            ${ew.customSqlSegment}
+    </select>
+
+</mapper>

Vissa filer visades inte eftersom för många filer har ändrats