大更新

This commit is contained in:
启航 2024-04-11 19:42:50 +08:00
parent 67408f4054
commit e1826fa265
36 changed files with 2725 additions and 2526 deletions

View File

@ -1,11 +1,6 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<!-- <parent>-->
<!-- <groupId>com.qihang</groupId>-->
<!-- <artifactId>qihang-oms</artifactId>-->
<!-- <version>1.0-SNAPSHOT</version>-->
<!-- </parent>-->
<parent> <parent>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId> <artifactId>spring-boot-starter-parent</artifactId>

View File

@ -4,10 +4,10 @@
<parent> <parent>
<groupId>com.qihang</groupId> <groupId>com.qihang</groupId>
<artifactId>core</artifactId> <artifactId>core</artifactId>
<version>1.0-SNAPSHOT</version> <version>0.4.11</version>
</parent> </parent>
<groupId>com.qihang</groupId> <!-- <groupId>com.qihang</groupId>-->
<artifactId>common</artifactId> <artifactId>common</artifactId>
<packaging>jar</packaging> <packaging>jar</packaging>

View File

@ -3,11 +3,11 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<parent> <parent>
<groupId>com.qihang</groupId> <groupId>com.qihang</groupId>
<artifactId>qihang-oms</artifactId> <artifactId>qihangec-oms</artifactId>
<version>1.0-SNAPSHOT</version> <version>0.4.11</version>
</parent> </parent>
<groupId>com.qihang</groupId> <!-- <groupId>com.qihang</groupId>-->
<artifactId>core</artifactId> <artifactId>core</artifactId>
<packaging>pom</packaging> <packaging>pom</packaging>

View File

@ -4,10 +4,10 @@
<parent> <parent>
<groupId>com.qihang</groupId> <groupId>com.qihang</groupId>
<artifactId>core</artifactId> <artifactId>core</artifactId>
<version>1.0-SNAPSHOT</version> <version>0.4.11</version>
</parent> </parent>
<groupId>com.qihang</groupId> <!-- <groupId>com.qihang</groupId>-->
<artifactId>security</artifactId> <artifactId>security</artifactId>
<packaging>jar</packaging> <packaging>jar</packaging>

View File

@ -1,11 +1,6 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<!-- <parent>-->
<!-- <groupId>com.qihang</groupId>-->
<!-- <artifactId>qihang-oms</artifactId>-->
<!-- <version>1.0-SNAPSHOT</version>-->
<!-- </parent>-->
<parent> <parent>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId> <artifactId>spring-boot-starter-parent</artifactId>

Binary file not shown.

View File

@ -132,6 +132,13 @@
<!-- <systemPath>${project.basedir}/libs/taobao-sdk-0.20200820.jar</systemPath>--> <!-- <systemPath>${project.basedir}/libs/taobao-sdk-0.20200820.jar</systemPath>-->
<systemPath>${project.basedir}/libs/taobao-sdk-0.20240301.jar</systemPath> <systemPath>${project.basedir}/libs/taobao-sdk-0.20240301.jar</systemPath>
</dependency> </dependency>
<dependency>
<groupId>com.qihangec</groupId>
<artifactId>tao-open-api</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/libs/tao-1.0.jar</systemPath>
</dependency>
</dependencies> </dependencies>
<!-- <dependencyManagement>--> <!-- <dependencyManagement>-->
<!-- <dependencies>--> <!-- <dependencies>-->

View File

@ -15,8 +15,8 @@ import org.springframework.context.annotation.ComponentScan;
//@EnableWebSecurity //@EnableWebSecurity
@EnableDiscoveryClient @EnableDiscoveryClient
@ComponentScan(basePackages={"com.qihang"}) @ComponentScan(basePackages={"com.qihang","tech.qihangec.open.tao"})
//@MapperScan("com.qihang.tao.mapper") //@MapperScan(basePackages ={"tech.qihangec.open.tao.mapper","com.qihang.tao.mapper"})
@SpringBootApplication @SpringBootApplication
public class TaoApi public class TaoApi
{ {

View File

@ -0,0 +1,162 @@
package com.qihang.tao.common;
import com.qihang.common.common.AjaxResult;
import com.qihang.common.common.TableDataInfo;
import com.qihang.common.enums.HttpStatus;
import com.qihang.common.utils.StringUtils;
import com.qihang.security.LoginUser;
import com.qihang.security.common.SecurityUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import tech.qihangec.open.tao.common.PageResult;
import java.util.List;
/**
* web层通用数据处理
*
* @author qihang
*/
public class BaseController
{
protected final Logger logger = LoggerFactory.getLogger(this.getClass());
/**
* 返回成功
*/
public AjaxResult success()
{
return AjaxResult.success();
}
/**
* 返回失败消息
*/
public AjaxResult error()
{
return AjaxResult.error();
}
/**
* 返回成功消息
*/
public AjaxResult success(String message)
{
return AjaxResult.success(message);
}
/**
* 返回成功消息
*/
public AjaxResult success(Object data)
{
return AjaxResult.success(data);
}
/**
* 返回失败消息
*/
public AjaxResult error(String message)
{
return AjaxResult.error(message);
}
/**
* 返回警告消息
*/
public AjaxResult warn(String message)
{
return AjaxResult.warn(message);
}
/**
* 响应返回结果
*
* @param rows 影响行数
* @return 操作结果
*/
protected AjaxResult toAjax(int rows)
{
return rows > 0 ? AjaxResult.success() : AjaxResult.error();
}
/**
* 响应返回结果
*
* @param result 结果
* @return 操作结果
*/
protected AjaxResult toAjax(boolean result)
{
return result ? success() : error();
}
/**
* 页面跳转
*/
public String redirect(String url)
{
return StringUtils.format("redirect:{}", url);
}
/**
* 获取用户缓存信息
*/
public LoginUser getLoginUser()
{
return SecurityUtils.getLoginUser();
}
/**
* 获取登录用户id
*/
public Long getUserId()
{
return getLoginUser().getUserId();
}
/**
* 获取登录部门id
*/
public Long getDeptId()
{
return getLoginUser().getDeptId();
}
/**
* 获取登录用户名
*/
public String getUsername()
{
return getLoginUser().getUsername();
}
/**
* 响应请求分页数据
*/
@SuppressWarnings({ "rawtypes", "unchecked" })
protected TableDataInfo getDataTable(List<?> list)
{
TableDataInfo rspData = new TableDataInfo();
rspData.setCode(HttpStatus.SUCCESS);
rspData.setMsg("查询成功");
rspData.setRows(list);
// rspData.setTotal(new PageInfo(list).getTotal());
rspData.setTotal(list.size());
return rspData;
}
protected TableDataInfo getDataTable(PageResult<?> pageResult)
{
TableDataInfo rspData = new TableDataInfo();
rspData.setCode(HttpStatus.SUCCESS);
rspData.setMsg("查询成功");
rspData.setRows(pageResult.getRecords());
// rspData.setTotal(new PageInfo(list).getTotal());
rspData.setTotal(pageResult.getTotal());
return rspData;
}
}

View File

@ -8,7 +8,8 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
@Configuration @Configuration
@MapperScan("com.qihang.tao.mapper") //@MapperScan("com.qihang.tao.mapper")
@MapperScan(basePackages ={"tech.qihangec.open.tao.mapper","com.qihang.tao.mapper"})
public class MybatisPlusConfig { public class MybatisPlusConfig {
@Bean @Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() { public MybatisPlusInterceptor mybatisPlusInterceptor() {

View File

@ -12,17 +12,15 @@ import com.qihang.tao.domain.SysShopPullLasttime;
import com.qihang.tao.domain.SysShopPullLogs; import com.qihang.tao.domain.SysShopPullLogs;
import com.qihang.tao.openApi.ApiCommon; import com.qihang.tao.openApi.ApiCommon;
//import com.qihang.tao.api.ApiResult; //import com.qihang.tao.api.ApiResult;
import com.qihang.tao.openApi.OrderApiHelper;
import com.qihang.tao.common.TaoRequest; import com.qihang.tao.common.TaoRequest;
import com.qihang.tao.domain.TaoOrder;
import com.qihang.tao.service.SysShopPullLasttimeService; import com.qihang.tao.service.SysShopPullLasttimeService;
import com.qihang.tao.service.SysShopPullLogsService; import com.qihang.tao.service.SysShopPullLogsService;
import com.qihang.tao.service.TaoOrderService;
import com.taobao.api.ApiException; import com.taobao.api.ApiException;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import tech.qihangec.open.tao.OrderApiService;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.Date; import java.util.Date;
@ -36,11 +34,12 @@ import java.util.Date;
public class OrderApiController { public class OrderApiController {
private static Logger log = LoggerFactory.getLogger(OrderApiController.class); private static Logger log = LoggerFactory.getLogger(OrderApiController.class);
private final TaoOrderService orderService; // private final TaoOrderService orderService;
private final ApiCommon apiCommon; private final ApiCommon apiCommon;
private final MqUtils mqUtils; private final MqUtils mqUtils;
private final SysShopPullLogsService pullLogsService; private final SysShopPullLogsService pullLogsService;
private final SysShopPullLasttimeService pullLasttimeService; private final SysShopPullLasttimeService pullLasttimeService;
private final OrderApiService orderApiService;
/** /**
* 增量更新订单 * 增量更新订单
* @param req * @param req
@ -83,77 +82,85 @@ public class OrderApiController {
startTime = lasttime.getLasttime().minusHours(1);//取上次结束一个小时前 startTime = lasttime.getLasttime().minusHours(1);//取上次结束一个小时前
endTime = startTime.plusDays(1);//取24小时 endTime = startTime.plusDays(1);//取24小时
if(endTime.isAfter(LocalDateTime.now())){ if(endTime.isAfter(LocalDateTime.now())){
endTime = LocalDateTime.now(); endTime = LocalDateTime.now();
} }
} }
try {
//第一次获取 orderApiService.pullOrder(startTime,endTime,"手动拉取", req.getShopId(), url,appKey,appSecret,sessionKey);
ResultVo<TaoOrder> upResult = OrderApiHelper.pullIncrementOrder(startTime,endTime,pageIndex, pageSize, url, appKey, appSecret, sessionKey); // tech.qihangec.open.tao.OrderApiHelper.pullIncrementOrder(startTime, endTime, pageIndex, pageSize, url, appKey, appSecret, sessionKey);
String s="";
if (upResult.getCode() != ResultVoEnum.SUCCESS.getIndex()) { }catch (Exception e){
log.info("/**************主动更新tao订单第一次获取结果失败" + upResult.getMsg() + "****************/"); String s="";
if(upResult.getCode() == HttpStatus.UNAUTHORIZED){
return AjaxResult.error(HttpStatus.UNAUTHORIZED, "Token已过期请重新授权",checkResult.getData());
}
return AjaxResult.error(HttpStatus.SYSTEM_EXCEPTION, upResult.getMsg());
} }
log.info("/**************主动更新tao订单第一次获取结果总记录数" + upResult.getTotalRecords() + "****************/"); // //第一次获取
int insertSuccess = 0;//新增成功的订单 // ResultVo<TaoOrder> upResult = OrderApiHelper.pullIncrementOrder(startTime,endTime,pageIndex, pageSize, url, appKey, appSecret, sessionKey);
int totalError = 0; //
int hasExistOrder = 0;//已存在的订单数 // if (upResult.getCode() != ResultVoEnum.SUCCESS.getIndex()) {
// log.info("/**************主动更新tao订单第一次获取结果失败" + upResult.getMsg() + "****************/");
//循环插入订单数据到数据库 // if(upResult.getCode() == HttpStatus.UNAUTHORIZED){
for (var order : upResult.getList()) { // return AjaxResult.error(HttpStatus.UNAUTHORIZED, "Token已过期请重新授权",checkResult.getData());
//插入订单数据 // }
var result = orderService.saveOrder(req.getShopId(), order); // return AjaxResult.error(HttpStatus.SYSTEM_EXCEPTION, upResult.getMsg());
if (result.getCode() == ResultVoEnum.DataExist.getIndex()) { // }
//已经存在 //
log.info("/**************主动更新tao订单开始更新数据库" + order.getId() + "存在、更新****************/"); // log.info("/**************主动更新tao订单第一次获取结果总记录数" + upResult.getTotalRecords() + "****************/");
mqUtils.sendApiMessage(MqMessage.build(EnumShopType.TAO, MqType.ORDER_MESSAGE,order.getTid().toString())); // int insertSuccess = 0;//新增成功的订单
hasExistOrder++; // int totalError = 0;
} else if (result.getCode() == ResultVoEnum.SUCCESS.getIndex()) { // int hasExistOrder = 0;//已存在的订单数
log.info("/**************主动更新tao订单开始更新数据库" + order.getId() + "不存在、新增****************/"); //
mqUtils.sendApiMessage(MqMessage.build(EnumShopType.TAO,MqType.ORDER_MESSAGE,order.getTid().toString())); // //循环插入订单数据到数据库
insertSuccess++; // for (var order : upResult.getList()) {
} else { // //插入订单数据
log.info("/**************主动更新tao订单开始更新数据库" + order.getId() + "报错****************/"); //// var result = orderService.saveOrder(req.getShopId(), order);
totalError++; //// if (result.getCode() == ResultVoEnum.DataExist.getIndex()) {
} //// //已经存在
} //// log.info("/**************主动更新tao订单开始更新数据库" + order.getId() + "存在、更新****************/");
//// mqUtils.sendApiMessage(MqMessage.build(EnumShopType.TAO, MqType.ORDER_MESSAGE,order.getTid().toString()));
if(lasttime == null){ //// hasExistOrder++;
// 新增 //// } else if (result.getCode() == ResultVoEnum.SUCCESS.getIndex()) {
SysShopPullLasttime insertLasttime = new SysShopPullLasttime(); //// log.info("/**************主动更新tao订单开始更新数据库" + order.getId() + "不存在、新增****************/");
insertLasttime.setShopId(req.getShopId()); //// mqUtils.sendApiMessage(MqMessage.build(EnumShopType.TAO,MqType.ORDER_MESSAGE,order.getTid().toString()));
insertLasttime.setCreateTime(new Date()); //// insertSuccess++;
insertLasttime.setLasttime(endTime); //// } else {
insertLasttime.setPullType("ORDER"); //// log.info("/**************主动更新tao订单开始更新数据库" + order.getId() + "报错****************/");
pullLasttimeService.save(insertLasttime); //// totalError++;
//// }
}else { // }
// 修改 //
SysShopPullLasttime updateLasttime = new SysShopPullLasttime(); // if(lasttime == null){
updateLasttime.setId(lasttime.getId()); // // 新增
updateLasttime.setUpdateTime(new Date()); // SysShopPullLasttime insertLasttime = new SysShopPullLasttime();
updateLasttime.setLasttime(endTime); // insertLasttime.setShopId(req.getShopId());
pullLasttimeService.updateById(updateLasttime); // insertLasttime.setCreateTime(new Date());
} // insertLasttime.setLasttime(endTime);
// insertLasttime.setPullType("ORDER");
SysShopPullLogs logs = new SysShopPullLogs(); // pullLasttimeService.save(insertLasttime);
logs.setShopType(EnumShopType.TAO.getIndex()); //
logs.setShopId(req.getShopId()); // }else {
logs.setPullType("ORDER"); // // 修改
logs.setPullWay("主动拉取"); // SysShopPullLasttime updateLasttime = new SysShopPullLasttime();
logs.setPullParams("{startTime:"+startTime+",endTime:"+endTime+"}"); // updateLasttime.setId(lasttime.getId());
logs.setPullResult("{insert:"+insertSuccess+",update:"+hasExistOrder+",fail:"+totalError+"}"); // updateLasttime.setUpdateTime(new Date());
logs.setPullTime(currDateTime); // updateLasttime.setLasttime(endTime);
logs.setDuration(System.currentTimeMillis() - beginTime); // pullLasttimeService.updateById(updateLasttime);
pullLogsService.save(logs); // }
//
String msg = "成功,总共找到:" + upResult.getTotalRecords() + "条订单,新增:" + insertSuccess + "条,添加错误:" + totalError + "条,更新:" + hasExistOrder + ""; // SysShopPullLogs logs = new SysShopPullLogs();
log.info("/**************主动更新tao订单END" + msg + "****************/"); // logs.setShopType(EnumShopType.TAO.getIndex());
return AjaxResult.success(msg); // logs.setShopId(req.getShopId());
// logs.setPullType("ORDER");
// logs.setPullWay("主动拉取");
// logs.setPullParams("{startTime:"+startTime+",endTime:"+endTime+"}");
// logs.setPullResult("{insert:"+insertSuccess+",update:"+hasExistOrder+",fail:"+totalError+"}");
// logs.setPullTime(currDateTime);
// logs.setDuration(System.currentTimeMillis() - beginTime);
// pullLogsService.save(logs);
//
// String msg = "成功,总共找到:" + upResult.getTotalRecords() + "条订单,新增:" + insertSuccess + "条,添加错误:" + totalError + "条,更新:" + hasExistOrder + "";
// log.info("/**************主动更新tao订单END" + msg + "****************/");
return AjaxResult.success();
} }
/** /**
@ -213,67 +220,67 @@ public class OrderApiController {
Long pageSize = 50l; Long pageSize = 50l;
Long pageIndex = 1l; Long pageIndex = 1l;
//第一次获取 // //第一次获取
ResultVo<TaoOrder> upResult = OrderApiHelper.pullOrder(pageIndex, pageSize, url, appKey, appSecret, sessionKey); // ResultVo<TaoOrder> upResult = OrderApiHelper.pullOrder(pageIndex, pageSize, url, appKey, appSecret, sessionKey);
//
// if (upResult.getCode() != HttpStatus.SUCCESS) {
// log.info("/**************主动更新tao订单第一次获取结果失败" + upResult.getMsg() + "****************/");
// if(upResult.getCode() == HttpStatus.UNAUTHORIZED){
// return AjaxResult.error(HttpStatus.UNAUTHORIZED, "Token已过期请重新授权",checkResult.getData());
// }
// return AjaxResult.error(HttpStatus.SYSTEM_EXCEPTION, upResult.getMsg());
// }
//
// log.info("/**************主动更新tao订单第一次获取结果总记录数" + upResult.getTotalRecords() + "****************/");
// int insertSuccess = 0;//新增成功的订单
// int totalError = 0;
// int hasExistOrder = 0;//已存在的订单数
//
// //循环插入订单数据到数据库
// for (var order : upResult.getList()) {
//
// //插入订单数据
// var result = orderService.saveOrder(req.getShopId(), order);
// if (result.getCode() == ResultVoEnum.DataExist.getIndex()) {
// //已经存在
// log.info("/**************主动更新tao订单开始更新数据库" + order.getId() + "存在、更新****************/");
// hasExistOrder++;
// } else if (result.getCode() == ResultVoEnum.SUCCESS.getIndex()) {
// log.info("/**************主动更新tao订单开始更新数据库" + order.getId() + "不存在、新增****************/");
// insertSuccess++;
// } else {
// log.info("/**************主动更新tao订单开始更新数据库" + order.getId() + "报错****************/");
// totalError++;
// }
// }
if (upResult.getCode() != HttpStatus.SUCCESS) { // //计算总页数
log.info("/**************主动更新tao订单第一次获取结果失败" + upResult.getMsg() + "****************/"); // int totalPage = (upResult.getTotalRecords() % pageSize == 0) ? upResult.getTotalRecords() / pageSize.intValue() : (upResult.getTotalRecords() / pageSize.intValue()) + 1;
if(upResult.getCode() == HttpStatus.UNAUTHORIZED){ // pageIndex++;
return AjaxResult.error(HttpStatus.UNAUTHORIZED, "Token已过期请重新授权",checkResult.getData()); //
} // while (pageIndex <= totalPage) {
return AjaxResult.error(HttpStatus.SYSTEM_EXCEPTION, upResult.getMsg()); //
} // ResultVo<TaoOrder> upResult1 = OrderApiHelper.pullOrder(pageIndex, pageSize, url, appKey, appSecret, sessionKey);
// //循环插入订单数据到数据库
log.info("/**************主动更新tao订单第一次获取结果总记录数" + upResult.getTotalRecords() + "****************/"); // for (var order : upResult1.getList()) {
int insertSuccess = 0;//新增成功的订单 // //插入订单数据
int totalError = 0; //// var result = orderService.saveOrder(req.getShopId(), order);
int hasExistOrder = 0;//已存在的订单数 //// if (result.getCode() == ResultVoEnum.DataExist.getIndex()) {
//// //已经存在
//循环插入订单数据到数据库 //// log.info("/**************主动更新tao订单开始更新数据库" + order.getId() + "存在、更新****************/");
for (var order : upResult.getList()) { //// hasExistOrder++;
//// } else if (result.getCode() == ResultVoEnum.SUCCESS.getIndex()) {
//插入订单数据 //// log.info("/**************主动更新tao订单开始更新数据库" + order.getId() + "不存在、新增****************/");
var result = orderService.saveOrder(req.getShopId(), order); //// insertSuccess++;
if (result.getCode() == ResultVoEnum.DataExist.getIndex()) { //// } else {
//已经存在 //// log.info("/**************主动更新tao订单开始更新数据库" + order.getId() + "报错****************/");
log.info("/**************主动更新tao订单开始更新数据库" + order.getId() + "存在、更新****************/"); //// totalError++;
hasExistOrder++; //// }
} else if (result.getCode() == ResultVoEnum.SUCCESS.getIndex()) { // }
log.info("/**************主动更新tao订单开始更新数据库" + order.getId() + "不存在、新增****************/"); // pageIndex++;
insertSuccess++; // }
} else { // String msg = "成功,总共找到:" + upResult.getTotalRecords() + "条订单,新增:" + insertSuccess + "条,添加错误:" + totalError + "条,更新:" + hasExistOrder + "";
log.info("/**************主动更新tao订单开始更新数据库" + order.getId() + "报错****************/"); log.info("/**************主动更新tao订单END" + "****************/");
totalError++;
}
}
//计算总页数
int totalPage = (upResult.getTotalRecords() % pageSize == 0) ? upResult.getTotalRecords() / pageSize.intValue() : (upResult.getTotalRecords() / pageSize.intValue()) + 1;
pageIndex++;
while (pageIndex <= totalPage) {
ResultVo<TaoOrder> upResult1 = OrderApiHelper.pullOrder(pageIndex, pageSize, url, appKey, appSecret, sessionKey);
//循环插入订单数据到数据库
for (var order : upResult1.getList()) {
//插入订单数据
var result = orderService.saveOrder(req.getShopId(), order);
if (result.getCode() == ResultVoEnum.DataExist.getIndex()) {
//已经存在
log.info("/**************主动更新tao订单开始更新数据库" + order.getId() + "存在、更新****************/");
hasExistOrder++;
} else if (result.getCode() == ResultVoEnum.SUCCESS.getIndex()) {
log.info("/**************主动更新tao订单开始更新数据库" + order.getId() + "不存在、新增****************/");
insertSuccess++;
} else {
log.info("/**************主动更新tao订单开始更新数据库" + order.getId() + "报错****************/");
totalError++;
}
}
pageIndex++;
}
String msg = "成功,总共找到:" + upResult.getTotalRecords() + "条订单,新增:" + insertSuccess + "条,添加错误:" + totalError + "条,更新:" + hasExistOrder + "";
log.info("/**************主动更新tao订单END" + msg + "****************/");
return AjaxResult.success(); return AjaxResult.success();
} }

View File

@ -1,24 +1,27 @@
package com.qihang.tao.controller; package com.qihang.tao.controller;
import com.qihang.common.common.AjaxResult; import com.qihang.common.common.AjaxResult;
import com.qihang.common.common.PageQuery;
import com.qihang.common.common.PageResult;
import com.qihang.common.common.TableDataInfo; import com.qihang.common.common.TableDataInfo;
import com.qihang.common.enums.EnumShopType; import com.qihang.common.enums.EnumShopType;
import com.qihang.common.mq.MqMessage; import com.qihang.common.mq.MqMessage;
import com.qihang.common.mq.MqType; import com.qihang.common.mq.MqType;
import com.qihang.common.mq.MqUtils; import com.qihang.common.mq.MqUtils;
import com.qihang.security.common.BaseController; import com.qihang.tao.common.BaseController;
import com.qihang.tao.common.TaoRequest; import com.qihang.tao.common.TaoRequest;
import com.qihang.tao.domain.TaoGoods; import com.qihang.tao.domain.TaoGoods;
import com.qihang.tao.domain.TaoOrder;
import com.qihang.tao.domain.bo.TaoGoodsBo; import com.qihang.tao.domain.bo.TaoGoodsBo;
import com.qihang.tao.domain.bo.TaoOrderBo; import com.qihang.tao.domain.bo.TaoOrderBo;
import com.qihang.tao.domain.bo.TaoOrderPushBo; import com.qihang.tao.domain.bo.TaoOrderPushBo;
import com.qihang.tao.service.TaoOrderService;
import com.taobao.api.ApiException; import com.taobao.api.ApiException;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import tech.qihangec.open.tao.common.PageQuery;
import tech.qihangec.open.tao.common.PageResult;
import tech.qihangec.open.tao.domain.TaoOrder;
import tech.qihangec.open.tao.service.TaoOrderService;
import java.util.ArrayList;
@AllArgsConstructor @AllArgsConstructor
@RestController @RestController
@ -28,9 +31,15 @@ public class OrderContoller extends BaseController {
private final MqUtils mqUtils; private final MqUtils mqUtils;
@RequestMapping(value = "/list", method = RequestMethod.GET) @RequestMapping(value = "/list", method = RequestMethod.GET)
public TableDataInfo goodsList(TaoOrderBo bo, PageQuery pageQuery) { public TableDataInfo goodsList(TaoOrderBo bo, PageQuery pageQuery) {
PageResult<TaoOrder> result = orderService.queryPageList(bo, pageQuery); TaoOrder taoOrder = new TaoOrder();
taoOrder.setShopId(bo.getShopId());
try {
PageResult<TaoOrder> result = orderService.queryPageList(taoOrder, pageQuery);
return getDataTable(result); return getDataTable(result);
}catch (Exception e){
return getDataTable(new ArrayList<>());
}
} }
@PostMapping("/push_oms") @PostMapping("/push_oms")

View File

@ -9,12 +9,11 @@ import com.qihang.common.mq.MqMessage;
import com.qihang.common.mq.MqType; import com.qihang.common.mq.MqType;
import com.qihang.common.mq.MqUtils; import com.qihang.common.mq.MqUtils;
import com.qihang.security.common.BaseController; import com.qihang.security.common.BaseController;
import com.qihang.tao.domain.TaoOrder;
import com.qihang.tao.domain.TaoRefund; import com.qihang.tao.domain.TaoRefund;
import com.qihang.tao.domain.bo.TaoOrderBo; import com.qihang.tao.domain.bo.TaoOrderBo;
import com.qihang.tao.domain.bo.TaoOrderPushBo; import com.qihang.tao.domain.bo.TaoOrderPushBo;
import com.qihang.tao.domain.bo.TaoRefundBo; import com.qihang.tao.domain.bo.TaoRefundBo;
import com.qihang.tao.service.TaoOrderService;
import com.qihang.tao.service.TaoRefundService; import com.qihang.tao.service.TaoRefundService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;

View File

@ -1,18 +1,18 @@
package com.qihang.tao.mapper; //package com.qihang.tao.mapper;
//
import com.qihang.tao.domain.TaoOrderItem; //import com.qihang.tao.domain.TaoOrderItem;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; //import com.baomidou.mybatisplus.core.mapper.BaseMapper;
//
/** ///**
* @author TW //* @author TW
* @description 针对表tao_order_item(淘宝订单明细表)的数据库操作Mapper //* @description 针对表tao_order_item(淘宝订单明细表)的数据库操作Mapper
* @createDate 2024-02-29 19:01:22 //* @createDate 2024-02-29 19:01:22
* @Entity com.qihang.tao.domain.TaoOrderItem //* @Entity com.qihang.tao.domain.TaoOrderItem
*/ //*/
public interface TaoOrderItemMapper extends BaseMapper<TaoOrderItem> { //public interface TaoOrderItemMapper extends BaseMapper<TaoOrderItem> {
//
} //}
//
//
//
//

View File

@ -1,18 +1,18 @@
package com.qihang.tao.mapper; //package com.qihang.tao.mapper;
//
import com.qihang.tao.domain.TaoOrder; //import com.qihang.tao.domain.TaoOrder;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; //import com.baomidou.mybatisplus.core.mapper.BaseMapper;
//
/** ///**
* @author TW //* @author TW
* @description 针对表tao_order(淘宝订单表)的数据库操作Mapper //* @description 针对表tao_order(淘宝订单表)的数据库操作Mapper
* @createDate 2024-02-29 19:01:11 //* @createDate 2024-02-29 19:01:11
* @Entity com.qihang.tao.domain.TaoOrder //* @Entity com.qihang.tao.domain.TaoOrder
*/ //*/
public interface TaoOrderMapper extends BaseMapper<TaoOrder> { //public interface TaoOrderMapper extends BaseMapper<TaoOrder> {
//
} //}
//
//
//
//

View File

@ -1,217 +1,216 @@
package com.qihang.tao.openApi; //package com.qihang.tao.openApi;
//
//
import com.qihang.common.common.ResultVo; //import com.qihang.common.common.ResultVo;
import com.qihang.common.enums.HttpStatus; //import com.qihang.common.enums.HttpStatus;
import com.qihang.tao.domain.TaoOrder; //import com.taobao.api.ApiException;
import com.taobao.api.ApiException; //import com.taobao.api.DefaultTaobaoClient;
import com.taobao.api.DefaultTaobaoClient; //import com.taobao.api.TaobaoClient;
import com.taobao.api.TaobaoClient; //import com.taobao.api.request.TopOaidDecryptRequest;
import com.taobao.api.request.TopOaidDecryptRequest; //import com.taobao.api.request.TradesSoldGetRequest;
import com.taobao.api.request.TradesSoldGetRequest; //import com.taobao.api.request.TradesSoldIncrementGetRequest;
import com.taobao.api.request.TradesSoldIncrementGetRequest; //import com.taobao.api.response.TopOaidDecryptResponse;
import com.taobao.api.response.TopOaidDecryptResponse; //import com.taobao.api.response.TradesSoldGetResponse;
import com.taobao.api.response.TradesSoldGetResponse; //import com.taobao.api.response.TradesSoldIncrementGetResponse;
import com.taobao.api.response.TradesSoldIncrementGetResponse; //import org.slf4j.Logger;
import org.slf4j.Logger; //import org.slf4j.LoggerFactory;
import org.slf4j.LoggerFactory; //import org.springframework.util.StringUtils;
import org.springframework.util.StringUtils; //
//import java.time.LocalDateTime;
import java.time.LocalDateTime; //import java.time.ZoneOffset;
import java.time.ZoneOffset; //import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeFormatter; //import java.time.temporal.ChronoUnit;
import java.time.temporal.ChronoUnit; //import java.util.ArrayList;
import java.util.ArrayList; //import java.util.Date;
import java.util.Date; //import java.util.List;
import java.util.List; //
//public class OrderApiHelper {
public class OrderApiHelper { // private static Logger log = LoggerFactory.getLogger(OrderApiHelper.class);
private static Logger log = LoggerFactory.getLogger(OrderApiHelper.class); //
// private static final String ORDER_FIELDS = "tid,receiver_name,receiver_country,receiver_state,receiver_city,receiver_district,receiver_town,receiver_address," +
private static final String ORDER_FIELDS = "tid,receiver_name,receiver_country,receiver_state,receiver_city,receiver_district,receiver_town,receiver_address," + // "receiver_mobile,receiver_phone,title,seller_flag,has_buyer_message,credit_card_fee,mark_desc,consign_time,end_time,sid,yfx_fee,has_yfx" +
"receiver_mobile,receiver_phone,title,seller_flag,has_buyer_message,credit_card_fee,mark_desc,consign_time,end_time,sid,yfx_fee,has_yfx" + // ",type,status,orders,rx_audit_status,seller_memo,buyer_memo,buyer_message,pay_time,created,modified,buyer_nick,buyer_open_uid" +
",type,status,orders,rx_audit_status,seller_memo,buyer_memo,buyer_message,pay_time,created,modified,buyer_nick,buyer_open_uid" + // ",alipay_no,buyer_alipay_no,buyer_email,num_iid,num,price,total_fee,adjust_fee,post_fee,discount_fee,payment,received_payment" +
",alipay_no,buyer_alipay_no,buyer_email,num_iid,num,price,total_fee,adjust_fee,post_fee,discount_fee,payment,received_payment" + // ",available_confirm_fee,commission_fee,oaid";
",available_confirm_fee,commission_fee,oaid"; //
// /**
/** // * 更新订单循环分页
* 更新订单循环分页 // *
* // * @param pageNo
* @param pageNo // * @param pageSize
* @param pageSize // * @param sessionKey
* @param sessionKey // * @return
* @return // */
*/ // public static ResultVo<TaoOrder> pullOrder(Long pageNo, Long pageSize, String url, String appKey, String appSecret, String sessionKey) throws ApiException {
public static ResultVo<TaoOrder> pullOrder(Long pageNo, Long pageSize, String url, String appKey, String appSecret, String sessionKey) throws ApiException { // log.info("=======开始全量拉取订单{}=========", LocalDateTime.now());
log.info("=======开始全量拉取订单{}=========", LocalDateTime.now()); // TaobaoClient client = new DefaultTaobaoClient(url, appKey, appSecret);
TaobaoClient client = new DefaultTaobaoClient(url, appKey, appSecret); //
// TradesSoldGetRequest req = new TradesSoldGetRequest();
TradesSoldGetRequest req = new TradesSoldGetRequest(); // req.setFields(ORDER_FIELDS);
req.setFields(ORDER_FIELDS); //// req.setStartCreated(DateUtil.stringtoDate("2019-11-27 00:00:00"));
// req.setStartCreated(DateUtil.stringtoDate("2019-11-27 00:00:00")); //// req.setEndCreated(DateUtil.stringtoDate("2019-12-04 23:59:59"));
// req.setEndCreated(DateUtil.stringtoDate("2019-12-04 23:59:59")); //// req.setStatus("WAIT_SELLER_SEND_GOODS");
// req.setStatus("WAIT_SELLER_SEND_GOODS"); //// req.setBuyerNick("美丽的你美丽的我");
// req.setBuyerNick("美丽的你美丽的我"); // req.setType("fixed");//一口价
req.setType("fixed");//一口价 //// req.setExtType("service");
// req.setExtType("service"); //// req.setRateStatus("RATE_UNBUYER");
// req.setRateStatus("RATE_UNBUYER"); //// req.setTag("time_card");
// req.setTag("time_card"); // req.setPageNo(pageNo);
req.setPageNo(pageNo); // req.setPageSize(pageSize);
req.setPageSize(pageSize); //// req.setUseHasNext(true);
//// req.setBuyerOpenId("AAHm5d-EAAeGwJedwSHpg8bT");
// TradesSoldGetResponse rsp = client.execute(req, sessionKey);
//// System.out.println(rsp.getBody());
// if (StringUtils.hasText(rsp.getErrorCode())) {
// if (rsp.getErrorCode().equals("27")) {
//// return new ApiResult(HttpStatus.UNAUTHORIZED, "Token已过期请重新授权");
// return ResultVo.error(HttpStatus.UNAUTHORIZED, "Token已过期请重新授权");
// }
// }
// if (rsp.getTrades() == null) {
// //接口查询错误
//// return new ApiResult(500, "接口调用错误:" + rsp.getMsg() + rsp.getSubMsg());
// return ResultVo.error(HttpStatus.ERROR, "接口调用错误:" + rsp.getMsg() + rsp.getSubMsg());
// }
//
// //组合的订单列表
// List<TaoOrder> orderList = new ArrayList<>();
//
// //有数据
// for (var trade : rsp.getTrades()) {
// try {
// //组装订单
// var order = OrderAssembleHelper.assembleOrder(trade);
//
//// TopOaidDecryptRequest req1 = new TopOaidDecryptRequest();
//// List<TopOaidDecryptRequest.ReceiverQuery> list2 = new ArrayList<TopOaidDecryptRequest.ReceiverQuery>();
////
//// TopOaidDecryptRequest.ReceiverQuery obj3 = new TopOaidDecryptRequest.ReceiverQuery();
//// list2.add(obj3);
//// obj3.setOaid("1bhibPTekQ9Vico6BCjHicSUS6j5e9RRZkeyPzqeo41ibibkp5UTVZQC2wdLEQ0BssjpbscJyZy");
//// obj3.setTid("3796207345637527441");
//// obj3.setScene("1006");
//// obj3.setSecretNoDays(15L);
////
//// req1.setQueryList(list2);
//// TopOaidDecryptResponse rsp1 = client.execute(req1, sessionKey);
//// System.out.println(rsp1.getBody());
//
// orderList.add(order);
//
// } catch (Exception e) {
// }
// }
//
//// return new ApiResult(rsp.getTotalResults().intValue(), orderList);
// return ResultVo.success(rsp.getTotalResults().intValue(), orderList);
// }
//
//
// /**
// * 增量获取淘宝开放平台天猫订单
// *
// * @param pageNo
// * @param pageSize
// * @param sessionKey
// * @return
// * @throws ApiException
// */
// public static ResultVo<TaoOrder> pullIncrementOrder(LocalDateTime startTime, LocalDateTime endTime, Long pageNo, Long pageSize, String url, String appKey, String appSecret, String sessionKey) throws ApiException {
// String startTimeStr = startTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
// String endTimeStr = endTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
// log.info("=======开始全量拉取TAO订单{},参数日期:{}-{}=========", LocalDateTime.now(), startTimeStr, endTimeStr);
//
// TaobaoClient client = new DefaultTaobaoClient(url, appKey, appSecret);
// TradesSoldIncrementGetRequest req = new TradesSoldIncrementGetRequest();
// req.setFields(ORDER_FIELDS);
//
// req.setStartModified(Date.from(startTime.toInstant(ZoneOffset.UTC)));
// req.setEndModified(Date.from(endTime.toInstant(ZoneOffset.UTC)));
// req.setType("fixed");//一口价
//// req.setExtType("service");
//// req.setRateStatus("RATE_UNBUYER");
//// req.setTag("time_card");
// req.setPageNo(pageNo);
// req.setPageSize(pageSize);
// req.setUseHasNext(true); // req.setUseHasNext(true);
// req.setBuyerOpenId("AAHm5d-EAAeGwJedwSHpg8bT"); //// req.setUseHasNext(true);
TradesSoldGetResponse rsp = client.execute(req, sessionKey); //// req.setBuyerOpenId("AAHm5d-EAAeGwJedwSHpg8bT");
// System.out.println(rsp.getBody()); // TradesSoldIncrementGetResponse rsp = client.execute(req, sessionKey);
if (StringUtils.hasText(rsp.getErrorCode())) { //
if (rsp.getErrorCode().equals("27")) { //
// return new ApiResult(HttpStatus.UNAUTHORIZED, "Token已过期请重新授权"); // if (rsp.getTrades() == null) {
return ResultVo.error(HttpStatus.UNAUTHORIZED, "Token已过期请重新授权"); // if (!StringUtils.isEmpty(rsp.getErrorCode())) {
} // //接口查询错误
} //// return new ApiResult(500, "接口调用错误:" + rsp.getMsg() + rsp.getSubMsg());
if (rsp.getTrades() == null) { // return ResultVo.error(HttpStatus.ERROR, "接口调用错误:" + rsp.getMsg() + rsp.getSubMsg());
//接口查询错误 // }
// return new ApiResult(500, "接口调用错误:" + rsp.getMsg() + rsp.getSubMsg()); // log.info("========增量拉取订单:无订单,{}==========", LocalDateTime.now());
return ResultVo.error(HttpStatus.ERROR, "接口调用错误:" + rsp.getMsg() + rsp.getSubMsg()); //// return new ApiResult(0, new ArrayList());
} // return ResultVo.success(0, new ArrayList<>());
// }
//组合的订单列表 //
List<TaoOrder> orderList = new ArrayList<>(); // //组合的订单列表
// List<TaoOrder> orderList = new ArrayList<>();
//有数据 // if (rsp.getTrades() != null && !rsp.getTrades().isEmpty()) {
for (var trade : rsp.getTrades()) { // TopOaidDecryptRequest req2 = new TopOaidDecryptRequest();
try {
//组装订单
var order = OrderAssembleHelper.assembleOrder(trade);
// TopOaidDecryptRequest req1 = new TopOaidDecryptRequest();
// List<TopOaidDecryptRequest.ReceiverQuery> list2 = new ArrayList<TopOaidDecryptRequest.ReceiverQuery>(); // List<TopOaidDecryptRequest.ReceiverQuery> list2 = new ArrayList<TopOaidDecryptRequest.ReceiverQuery>();
// TopOaidDecryptRequest.ReceiverQuery obj2 = new TopOaidDecryptRequest.ReceiverQuery();
// list2.add(obj2);
// obj2.setScene("1005");
// obj2.setSecretNoDays(15L);
// //
// TopOaidDecryptRequest.ReceiverQuery obj3 = new TopOaidDecryptRequest.ReceiverQuery(); // //有数据
// list2.add(obj3); // for (var trade : rsp.getTrades()) {
// obj3.setOaid("1bhibPTekQ9Vico6BCjHicSUS6j5e9RRZkeyPzqeo41ibibkp5UTVZQC2wdLEQ0BssjpbscJyZy"); // //组装订单
// obj3.setTid("3796207345637527441"); // TaoOrder taoOrder = OrderAssembleHelper.assembleOrder(trade);
// obj3.setScene("1006");
// obj3.setSecretNoDays(15L);
// //
// req1.setQueryList(list2); // obj2.setOaid(trade.getOaid());
// TopOaidDecryptResponse rsp1 = client.execute(req1, sessionKey); // obj2.setTid(trade.getTid().toString());
// System.out.println(rsp1.getBody()); // req2.setQueryList(list2);
// TopOaidDecryptResponse rsp2 = client.execute(req2, sessionKey);
orderList.add(order); //// System.out.println(rsp2.getBody());
// if (rsp2.getReceiverList() != null && !rsp2.getReceiverList().isEmpty()) {
} catch (Exception e) { // taoOrder.setReceiverName(rsp2.getReceiverList().get(0).getName());
} // taoOrder.setReceiverAddress(rsp2.getReceiverList().get(0).getAddressDetail());
} // taoOrder.setReceiverMobile(rsp2.getReceiverList().get(0).getMobile());
// }
// return new ApiResult(rsp.getTotalResults().intValue(), orderList); // orderList.add(taoOrder);
return ResultVo.success(rsp.getTotalResults().intValue(), orderList); // }
} // }
// // 有分页继续拉取
// while (rsp.getHasNext()) {
/** // pageNo++;
* 增量获取淘宝开放平台天猫订单 // req.setPageNo(pageNo);
* // rsp = client.execute(req, sessionKey);
* @param pageNo // if (rsp.getTrades() != null && !rsp.getTrades().isEmpty()) {
* @param pageSize // TopOaidDecryptRequest req2 = new TopOaidDecryptRequest();
* @param sessionKey // List<TopOaidDecryptRequest.ReceiverQuery> list2 = new ArrayList<TopOaidDecryptRequest.ReceiverQuery>();
* @return // TopOaidDecryptRequest.ReceiverQuery obj2 = new TopOaidDecryptRequest.ReceiverQuery();
* @throws ApiException // list2.add(obj2);
*/ // obj2.setScene("1005");
public static ResultVo<TaoOrder> pullIncrementOrder(LocalDateTime startTime, LocalDateTime endTime, Long pageNo, Long pageSize, String url, String appKey, String appSecret, String sessionKey) throws ApiException { // obj2.setSecretNoDays(15L);
String startTimeStr = startTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); // //有数据
String endTimeStr = endTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); // for (var trade : rsp.getTrades()) {
log.info("=======开始全量拉取TAO订单{},参数日期:{}-{}=========", LocalDateTime.now(), startTimeStr, endTimeStr); // //组装订单
// TaoOrder taoOrder = OrderAssembleHelper.assembleOrder(trade);
TaobaoClient client = new DefaultTaobaoClient(url, appKey, appSecret); //
TradesSoldIncrementGetRequest req = new TradesSoldIncrementGetRequest(); // obj2.setOaid(trade.getOaid());
req.setFields(ORDER_FIELDS); // obj2.setTid(trade.getTid().toString());
// req2.setQueryList(list2);
req.setStartModified(Date.from(startTime.toInstant(ZoneOffset.UTC))); // TopOaidDecryptResponse rsp2 = client.execute(req2, sessionKey);
req.setEndModified(Date.from(endTime.toInstant(ZoneOffset.UTC))); //// System.out.println(rsp2.getBody());
req.setType("fixed");//一口价 // if (rsp2.getReceiverList() != null && !rsp2.getReceiverList().isEmpty()) {
// req.setExtType("service"); // taoOrder.setReceiverName(rsp2.getReceiverList().get(0).getName());
// req.setRateStatus("RATE_UNBUYER"); // taoOrder.setReceiverAddress(rsp2.getReceiverList().get(0).getAddressDetail());
// req.setTag("time_card"); // taoOrder.setReceiverMobile(rsp2.getReceiverList().get(0).getMobile());
req.setPageNo(pageNo); // }
req.setPageSize(pageSize); // orderList.add(taoOrder);
req.setUseHasNext(true); // }
// req.setUseHasNext(true); // }
// req.setBuyerOpenId("AAHm5d-EAAeGwJedwSHpg8bT"); // }
TradesSoldIncrementGetResponse rsp = client.execute(req, sessionKey); //// return new ApiResult(orderList.size(), orderList);
// return ResultVo.success(orderList.size(), orderList);
// }
if (rsp.getTrades() == null) { //
if (!StringUtils.isEmpty(rsp.getErrorCode())) { //}
//接口查询错误
// return new ApiResult(500, "接口调用错误:" + rsp.getMsg() + rsp.getSubMsg());
return ResultVo.error(HttpStatus.ERROR, "接口调用错误:" + rsp.getMsg() + rsp.getSubMsg());
}
log.info("========增量拉取订单:无订单,{}==========", LocalDateTime.now());
// return new ApiResult(0, new ArrayList());
return ResultVo.success(0, new ArrayList<>());
}
//组合的订单列表
List<TaoOrder> orderList = new ArrayList<>();
if (rsp.getTrades() != null && !rsp.getTrades().isEmpty()) {
TopOaidDecryptRequest req2 = new TopOaidDecryptRequest();
List<TopOaidDecryptRequest.ReceiverQuery> list2 = new ArrayList<TopOaidDecryptRequest.ReceiverQuery>();
TopOaidDecryptRequest.ReceiverQuery obj2 = new TopOaidDecryptRequest.ReceiverQuery();
list2.add(obj2);
obj2.setScene("1005");
obj2.setSecretNoDays(15L);
//有数据
for (var trade : rsp.getTrades()) {
//组装订单
TaoOrder taoOrder = OrderAssembleHelper.assembleOrder(trade);
obj2.setOaid(trade.getOaid());
obj2.setTid(trade.getTid().toString());
req2.setQueryList(list2);
TopOaidDecryptResponse rsp2 = client.execute(req2, sessionKey);
// System.out.println(rsp2.getBody());
if (rsp2.getReceiverList() != null && !rsp2.getReceiverList().isEmpty()) {
taoOrder.setReceiverName(rsp2.getReceiverList().get(0).getName());
taoOrder.setReceiverAddress(rsp2.getReceiverList().get(0).getAddressDetail());
taoOrder.setReceiverMobile(rsp2.getReceiverList().get(0).getMobile());
}
orderList.add(taoOrder);
}
}
// 有分页继续拉取
while (rsp.getHasNext()) {
pageNo++;
req.setPageNo(pageNo);
rsp = client.execute(req, sessionKey);
if (rsp.getTrades() != null && !rsp.getTrades().isEmpty()) {
TopOaidDecryptRequest req2 = new TopOaidDecryptRequest();
List<TopOaidDecryptRequest.ReceiverQuery> list2 = new ArrayList<TopOaidDecryptRequest.ReceiverQuery>();
TopOaidDecryptRequest.ReceiverQuery obj2 = new TopOaidDecryptRequest.ReceiverQuery();
list2.add(obj2);
obj2.setScene("1005");
obj2.setSecretNoDays(15L);
//有数据
for (var trade : rsp.getTrades()) {
//组装订单
TaoOrder taoOrder = OrderAssembleHelper.assembleOrder(trade);
obj2.setOaid(trade.getOaid());
obj2.setTid(trade.getTid().toString());
req2.setQueryList(list2);
TopOaidDecryptResponse rsp2 = client.execute(req2, sessionKey);
// System.out.println(rsp2.getBody());
if (rsp2.getReceiverList() != null && !rsp2.getReceiverList().isEmpty()) {
taoOrder.setReceiverName(rsp2.getReceiverList().get(0).getName());
taoOrder.setReceiverAddress(rsp2.getReceiverList().get(0).getAddressDetail());
taoOrder.setReceiverMobile(rsp2.getReceiverList().get(0).getMobile());
}
orderList.add(taoOrder);
}
}
}
// return new ApiResult(orderList.size(), orderList);
return ResultVo.success(orderList.size(), orderList);
}
}

View File

@ -1,108 +1,108 @@
package com.qihang.tao.openApi; //package com.qihang.tao.openApi;
//
import com.qihang.tao.domain.TaoOrder; //import com.qihang.tao.domain.TaoOrder;
import com.qihang.tao.domain.TaoOrderItem; //import com.qihang.tao.domain.TaoOrderItem;
import com.taobao.api.domain.Trade; //import com.taobao.api.domain.Trade;
import org.springframework.util.StringUtils; //import org.springframework.util.StringUtils;
//
import java.math.BigDecimal; //import java.math.BigDecimal;
import java.util.ArrayList; //import java.util.ArrayList;
import java.util.List; //import java.util.List;
//
public class OrderAssembleHelper { //public class OrderAssembleHelper {
/** // /**
* 组织订单 // * 组织订单
* @param trade // * @param trade
* @return // * @return
*/ // */
public static TaoOrder assembleOrder(Trade trade){ // public static TaoOrder assembleOrder(Trade trade){
try { // try {
TaoOrder order = new TaoOrder(); // TaoOrder order = new TaoOrder();
order.setTid(trade.getTid().toString()); // order.setTid(trade.getTid().toString());
order.setTitle(trade.getTitle()); // order.setTitle(trade.getTitle());
order.setType(trade.getType()); // order.setType(trade.getType());
order.setSellerFlag(trade.getSellerFlag() + ""); // order.setSellerFlag(trade.getSellerFlag() + "");
order.setHasBuyerMessage(trade.getHasBuyerMessage() + ""); // order.setHasBuyerMessage(trade.getHasBuyerMessage() + "");
order.setCreditCardFee(trade.getCreditCardFee()); // order.setCreditCardFee(trade.getCreditCardFee());
order.setCreated(trade.getCreated()); // order.setCreated(trade.getCreated());
order.setModified(trade.getModified()); // order.setModified(trade.getModified());
order.setPayTime(trade.getPayTime()); // order.setPayTime(trade.getPayTime());
// order.setPrice(Double.parseDouble(trade.getPrice())); //// order.setPrice(Double.parseDouble(trade.getPrice()));
order.setTotalFee(Double.parseDouble(trade.getTotalFee())); // order.setTotalFee(Double.parseDouble(trade.getTotalFee()));
order.setAdjustFee(Double.parseDouble(trade.getAdjustFee())); // order.setAdjustFee(Double.parseDouble(trade.getAdjustFee()));
order.setPostFee(BigDecimal.valueOf(Double.parseDouble(trade.getPostFee()))); // order.setPostFee(BigDecimal.valueOf(Double.parseDouble(trade.getPostFee())));
order.setDiscountFee(BigDecimal.valueOf(Double.parseDouble(trade.getDiscountFee()))); // order.setDiscountFee(BigDecimal.valueOf(Double.parseDouble(trade.getDiscountFee())));
order.setPayment(BigDecimal.valueOf(Double.parseDouble(trade.getPayment()))); // order.setPayment(BigDecimal.valueOf(Double.parseDouble(trade.getPayment())));
order.setReceivedPayment(BigDecimal.valueOf(Double.parseDouble(trade.getReceivedPayment()))); // order.setReceivedPayment(BigDecimal.valueOf(Double.parseDouble(trade.getReceivedPayment())));
order.setBuyerNick(trade.getBuyerNick()); // order.setBuyerNick(trade.getBuyerNick());
order.setBuyerOpenUid(trade.getBuyerOpenUid()); // order.setBuyerOpenUid(trade.getBuyerOpenUid());
order.setAlipayNo(trade.getAlipayNo()); // order.setAlipayNo(trade.getAlipayNo());
order.setBuyerAlipayNo(trade.getBuyerAlipayNo()); // order.setBuyerAlipayNo(trade.getBuyerAlipayNo());
order.setBuyerEmail(trade.getBuyerEmail()); // order.setBuyerEmail(trade.getBuyerEmail());
order.setBuyerMemo(trade.getBuyerMemo()); // order.setBuyerMemo(trade.getBuyerMemo());
order.setBuyerMessage(trade.getBuyerMessage()); // order.setBuyerMessage(trade.getBuyerMessage());
order.setMarkDesc(trade.getMarkDesc()); // order.setMarkDesc(trade.getMarkDesc());
order.setSellerMemo(trade.getSellerMemo()); // order.setSellerMemo(trade.getSellerMemo());
order.setReceiverCountry(trade.getReceiverCountry()); // order.setReceiverCountry(trade.getReceiverCountry());
order.setReceiverState(trade.getReceiverState()); // order.setReceiverState(trade.getReceiverState());
order.setReceiverCity(trade.getReceiverCity()); // order.setReceiverCity(trade.getReceiverCity());
order.setReceiverDistrict(trade.getReceiverDistrict()); // order.setReceiverDistrict(trade.getReceiverDistrict());
order.setReceiverTown(trade.getReceiverTown()); // order.setReceiverTown(trade.getReceiverTown());
order.setReceiverAddress(trade.getReceiverAddress()); // order.setReceiverAddress(trade.getReceiverAddress());
order.setReceiverName(trade.getReceiverName()); // order.setReceiverName(trade.getReceiverName());
order.setReceiverMobile(trade.getReceiverMobile()); // order.setReceiverMobile(trade.getReceiverMobile());
order.setReceiverPhone(trade.getReceiverPhone()); // order.setReceiverPhone(trade.getReceiverPhone());
order.setSid(trade.getSid()); // order.setSid(trade.getSid());
order.setYfxFee(trade.getYfxFee()); // order.setYfxFee(trade.getYfxFee());
order.setHasYfx(trade.getHasYfx()+""); // order.setHasYfx(trade.getHasYfx()+"");
// order.setNumIid(trade.getNumIid() + ""); //// order.setNumIid(trade.getNumIid() + "");
// order.setNum(trade.getNum().intValue()); //// order.setNum(trade.getNum().intValue());
order.setStatus(trade.getStatus()); // order.setStatus(trade.getStatus());
order.setConsignTime(trade.getConsignTime()); // order.setConsignTime(trade.getConsignTime());
order.setEndTime(trade.getEndTime()); // order.setEndTime(trade.getEndTime());
order.setOaid(trade.getOaid()); // order.setOaid(trade.getOaid());
List<TaoOrderItem> items = new ArrayList<>(); // List<TaoOrderItem> items = new ArrayList<>();
for (var item : trade.getOrders()) { // for (var item : trade.getOrders()) {
TaoOrderItem orderItem = new TaoOrderItem(); // TaoOrderItem orderItem = new TaoOrderItem();
orderItem.setTitle(item.getTitle()); // orderItem.setTitle(item.getTitle());
orderItem.setTid(trade.getTid()); // orderItem.setTid(trade.getTid());
orderItem.setOid(item.getOid()); // orderItem.setOid(item.getOid());
orderItem.setTotalFee(StringUtils.hasText(item.getTotalFee()) ? BigDecimal.valueOf(Double.parseDouble(item.getTotalFee())): BigDecimal.valueOf(0)); // orderItem.setTotalFee(StringUtils.hasText(item.getTotalFee()) ? BigDecimal.valueOf(Double.parseDouble(item.getTotalFee())): BigDecimal.valueOf(0));
orderItem.setDiscountFee(StringUtils.hasText(item.getDiscountFee()) ? BigDecimal.valueOf(Double.parseDouble(item.getDiscountFee())): BigDecimal.valueOf(0)); // orderItem.setDiscountFee(StringUtils.hasText(item.getDiscountFee()) ? BigDecimal.valueOf(Double.parseDouble(item.getDiscountFee())): BigDecimal.valueOf(0));
orderItem.setAdjustFee(StringUtils.hasText(item.getAdjustFee()) ?BigDecimal.valueOf(Double.parseDouble(item.getAdjustFee())): BigDecimal.valueOf(0)); // orderItem.setAdjustFee(StringUtils.hasText(item.getAdjustFee()) ?BigDecimal.valueOf(Double.parseDouble(item.getAdjustFee())): BigDecimal.valueOf(0));
orderItem.setDivideOrderFee( StringUtils.hasText(item.getDivideOrderFee()) ? Double.parseDouble(item.getDivideOrderFee()):0.0); // orderItem.setDivideOrderFee( StringUtils.hasText(item.getDivideOrderFee()) ? Double.parseDouble(item.getDivideOrderFee()):0.0);
orderItem.setPartMjzDiscount(StringUtils.hasText(item.getPartMjzDiscount()) ? Double.parseDouble(item.getPartMjzDiscount()):0.0); // orderItem.setPartMjzDiscount(StringUtils.hasText(item.getPartMjzDiscount()) ? Double.parseDouble(item.getPartMjzDiscount()):0.0);
orderItem.setPayment(StringUtils.hasText(item.getPayment()) ? Double.parseDouble(item.getPayment()):0.0); // orderItem.setPayment(StringUtils.hasText(item.getPayment()) ? Double.parseDouble(item.getPayment()):0.0);
orderItem.setPrice(StringUtils.hasText(item.getPrice()) ? BigDecimal.valueOf(Double.parseDouble(item.getPrice())): BigDecimal.valueOf(0)); // orderItem.setPrice(StringUtils.hasText(item.getPrice()) ? BigDecimal.valueOf(Double.parseDouble(item.getPrice())): BigDecimal.valueOf(0));
orderItem.setPicPath(item.getPicPath()); // orderItem.setPicPath(item.getPicPath());
orderItem.setNumIid(item.getNumIid()); // orderItem.setNumIid(item.getNumIid());
orderItem.setSkuId(item.getSkuId()); // orderItem.setSkuId(item.getSkuId());
orderItem.setOuterIid(item.getOuterIid()); // orderItem.setOuterIid(item.getOuterIid());
orderItem.setOuterSkuId(item.getOuterSkuId()); // orderItem.setOuterSkuId(item.getOuterSkuId());
orderItem.setSkuPropertiesName(item.getSkuPropertiesName()); // orderItem.setSkuPropertiesName(item.getSkuPropertiesName());
orderItem.setItemMealId(item.getItemMealId() == null ? "" : item.getItemMealId() + ""); // orderItem.setItemMealId(item.getItemMealId() == null ? "" : item.getItemMealId() + "");
orderItem.setItemMealName(item.getItemMealName()); // orderItem.setItemMealName(item.getItemMealName());
orderItem.setNum(item.getNum().intValue()); // orderItem.setNum(item.getNum().intValue());
orderItem.setRefundStatus(item.getRefundStatus()); // orderItem.setRefundStatus(item.getRefundStatus());
orderItem.setStatus(item.getStatus()); // orderItem.setStatus(item.getStatus());
orderItem.setBuyerRate(item.getBuyerRate() + ""); // orderItem.setBuyerRate(item.getBuyerRate() + "");
orderItem.setSellerRate(item.getSellerRate() + ""); // orderItem.setSellerRate(item.getSellerRate() + "");
orderItem.setRefundId(item.getRefundId()); // orderItem.setRefundId(item.getRefundId());
orderItem.setSellerType(item.getSellerType()); // orderItem.setSellerType(item.getSellerType());
orderItem.setCid(item.getCid()); // orderItem.setCid(item.getCid());
orderItem.setEndTime(item.getEndTime()); // orderItem.setEndTime(item.getEndTime());
orderItem.setConsignTime(item.getConsignTime()); // orderItem.setConsignTime(item.getConsignTime());
orderItem.setShippingType(item.getShippingType()); // orderItem.setShippingType(item.getShippingType());
orderItem.setLogisticsCompany(item.getLogisticsCompany()); // orderItem.setLogisticsCompany(item.getLogisticsCompany());
orderItem.setInvoiceNo(item.getInvoiceNo()); // orderItem.setInvoiceNo(item.getInvoiceNo());
//
items.add(orderItem); // items.add(orderItem);
} // }
order.setItems(items); // order.setItems(items);
return order; // return order;
}catch (Exception e){ // }catch (Exception e){
e.printStackTrace(); // e.printStackTrace();
return null; // return null;
} // }
} // }
} //}

View File

@ -1,13 +1,13 @@
package com.qihang.tao.service; //package com.qihang.tao.service;
//
import com.qihang.tao.domain.TaoOrderItem; //import com.qihang.tao.domain.TaoOrderItem;
import com.baomidou.mybatisplus.extension.service.IService; //import com.baomidou.mybatisplus.extension.service.IService;
//
/** ///**
* @author TW //* @author TW
* @description 针对表tao_order_item(淘宝订单明细表)的数据库操作Service //* @description 针对表tao_order_item(淘宝订单明细表)的数据库操作Service
* @createDate 2024-02-29 19:01:22 //* @createDate 2024-02-29 19:01:22
*/ //*/
public interface TaoOrderItemService extends IService<TaoOrderItem> { //public interface TaoOrderItemService extends IService<TaoOrderItem> {
//
} //}

View File

@ -1,27 +1,27 @@
package com.qihang.tao.service; //package com.qihang.tao.service;
//
import com.qihang.common.common.PageQuery; //import com.qihang.common.common.PageQuery;
import com.qihang.common.common.PageResult; //import com.qihang.common.common.PageResult;
import com.qihang.common.common.ResultVo; //import com.qihang.common.common.ResultVo;
import com.qihang.tao.domain.TaoGoods; //import com.qihang.tao.domain.TaoGoods;
import com.qihang.tao.domain.TaoOrder; //import com.qihang.tao.domain.TaoOrder;
import com.baomidou.mybatisplus.extension.service.IService; //import com.baomidou.mybatisplus.extension.service.IService;
import com.qihang.tao.domain.bo.TaoGoodsBo; //import com.qihang.tao.domain.bo.TaoGoodsBo;
import com.qihang.tao.domain.bo.TaoOrderBo; //import com.qihang.tao.domain.bo.TaoOrderBo;
//
/** ///**
* @author TW //* @author TW
* @description 针对表tao_order(淘宝订单表)的数据库操作Service //* @description 针对表tao_order(淘宝订单表)的数据库操作Service
* @createDate 2024-02-29 19:01:11 //* @createDate 2024-02-29 19:01:11
*/ //*/
public interface TaoOrderService extends IService<TaoOrder> { //public interface TaoOrderService extends IService<TaoOrder> {
//
PageResult<TaoOrder> queryPageList(TaoOrderBo bo, PageQuery pageQuery); // PageResult<TaoOrder> queryPageList(TaoOrderBo bo, PageQuery pageQuery);
/** // /**
* 保存店铺订单 // * 保存店铺订单
* @param shopId // * @param shopId
* @param order // * @param order
* @return // * @return
*/ // */
ResultVo<Integer> saveOrder(Integer shopId, TaoOrder order); // ResultVo<Integer> saveOrder(Integer shopId, TaoOrder order);
} //}

View File

@ -2,7 +2,6 @@ package com.qihang.tao.service;
import com.qihang.common.common.PageQuery; import com.qihang.common.common.PageQuery;
import com.qihang.common.common.PageResult; import com.qihang.common.common.PageResult;
import com.qihang.tao.domain.TaoOrder;
import com.qihang.tao.domain.TaoRefund; import com.qihang.tao.domain.TaoRefund;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.qihang.tao.domain.bo.TaoOrderBo; import com.qihang.tao.domain.bo.TaoOrderBo;

View File

@ -1,22 +1,22 @@
package com.qihang.tao.service.impl; //package com.qihang.tao.service.impl;
//
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; //import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.qihang.tao.domain.TaoOrderItem; //import com.qihang.tao.domain.TaoOrderItem;
import com.qihang.tao.service.TaoOrderItemService; //import com.qihang.tao.service.TaoOrderItemService;
import com.qihang.tao.mapper.TaoOrderItemMapper; //import com.qihang.tao.mapper.TaoOrderItemMapper;
import org.springframework.stereotype.Service; //import org.springframework.stereotype.Service;
//
/** ///**
* @author TW //* @author TW
* @description 针对表tao_order_item(淘宝订单明细表)的数据库操作Service实现 //* @description 针对表tao_order_item(淘宝订单明细表)的数据库操作Service实现
* @createDate 2024-02-29 19:01:22 //* @createDate 2024-02-29 19:01:22
*/ //*/
@Service //@Service
public class TaoOrderItemServiceImpl extends ServiceImpl<TaoOrderItemMapper, TaoOrderItem> //public class TaoOrderItemServiceImpl extends ServiceImpl<TaoOrderItemMapper, TaoOrderItem>
implements TaoOrderItemService{ // implements TaoOrderItemService{
//
} //}
//
//
//
//

View File

@ -1,117 +1,117 @@
package com.qihang.tao.service.impl; //package com.qihang.tao.service.impl;
//
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; //import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; //import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; //import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.qihang.common.common.PageQuery; //import com.qihang.common.common.PageQuery;
import com.qihang.common.common.PageResult; //import com.qihang.common.common.PageResult;
import com.qihang.common.common.ResultVoEnum; //import com.qihang.common.common.ResultVoEnum;
import com.qihang.common.common.ResultVo; //import com.qihang.common.common.ResultVo;
import com.qihang.tao.domain.TaoGoods; //import com.qihang.tao.domain.TaoGoods;
import com.qihang.tao.domain.TaoOrder; //import com.qihang.tao.domain.TaoOrder;
import com.qihang.tao.domain.TaoOrderItem; //import com.qihang.tao.domain.TaoOrderItem;
import com.qihang.tao.domain.bo.TaoOrderBo; //import com.qihang.tao.domain.bo.TaoOrderBo;
import com.qihang.tao.mapper.TaoOrderItemMapper; //import com.qihang.tao.mapper.TaoOrderItemMapper;
import com.qihang.tao.service.TaoOrderService; //import com.qihang.tao.service.TaoOrderService;
import com.qihang.tao.mapper.TaoOrderMapper; //import com.qihang.tao.mapper.TaoOrderMapper;
import lombok.AllArgsConstructor; //import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service; //import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; //import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport; //import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.util.StringUtils; //import org.springframework.util.StringUtils;
//
import java.util.Date; //import java.util.Date;
import java.util.List; //import java.util.List;
//
/** ///**
* @author TW //* @author TW
* @description 针对表tao_order(淘宝订单表)的数据库操作Service实现 //* @description 针对表tao_order(淘宝订单表)的数据库操作Service实现
* @createDate 2024-02-29 19:01:11 //* @createDate 2024-02-29 19:01:11
*/ //*/
@AllArgsConstructor //@AllArgsConstructor
@Service //@Service
public class TaoOrderServiceImpl extends ServiceImpl<TaoOrderMapper, TaoOrder> //public class TaoOrderServiceImpl extends ServiceImpl<TaoOrderMapper, TaoOrder>
implements TaoOrderService{ // implements TaoOrderService{
private final TaoOrderMapper mapper; // private final TaoOrderMapper mapper;
private final TaoOrderItemMapper itemMapper; // private final TaoOrderItemMapper itemMapper;
//
@Override // @Override
public PageResult<TaoOrder> queryPageList(TaoOrderBo bo, PageQuery pageQuery) { // public PageResult<TaoOrder> queryPageList(TaoOrderBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<TaoOrder> queryWrapper = new LambdaQueryWrapper<TaoOrder>() // LambdaQueryWrapper<TaoOrder> queryWrapper = new LambdaQueryWrapper<TaoOrder>()
.eq(bo.getShopId()!=null,TaoOrder::getShopId,bo.getShopId()) // .eq(bo.getShopId()!=null,TaoOrder::getShopId,bo.getShopId())
.eq(StringUtils.hasText(bo.getTid()),TaoOrder::getTid,bo.getTid()) // .eq(StringUtils.hasText(bo.getTid()),TaoOrder::getTid,bo.getTid())
; // ;
//
Page<TaoOrder> taoGoodsPage = mapper.selectPage(pageQuery.build(), queryWrapper); // Page<TaoOrder> taoGoodsPage = mapper.selectPage(pageQuery.build(), queryWrapper);
if(taoGoodsPage.getRecords()!=null){ // if(taoGoodsPage.getRecords()!=null){
for (var order:taoGoodsPage.getRecords()) { // for (var order:taoGoodsPage.getRecords()) {
order.setItems(itemMapper.selectList(new LambdaQueryWrapper<TaoOrderItem>().eq(TaoOrderItem::getTid,order.getTid()))); // order.setItems(itemMapper.selectList(new LambdaQueryWrapper<TaoOrderItem>().eq(TaoOrderItem::getTid,order.getTid())));
} // }
} // }
return PageResult.build(taoGoodsPage); // return PageResult.build(taoGoodsPage);
} // }
//
@Transactional // @Transactional
@Override // @Override
public ResultVo<Integer> saveOrder(Integer shopId, TaoOrder order) { // public ResultVo<Integer> saveOrder(Integer shopId, TaoOrder order) {
if(order == null ) return ResultVo.error(ResultVoEnum.SystemException); // if(order == null ) return ResultVo.error(ResultVoEnum.SystemException);
try { // try {
List<TaoOrder> taoOrders = mapper.selectList(new LambdaQueryWrapper<TaoOrder>().eq(TaoOrder::getTid, order.getTid())); // List<TaoOrder> taoOrders = mapper.selectList(new LambdaQueryWrapper<TaoOrder>().eq(TaoOrder::getTid, order.getTid()));
if (taoOrders != null && taoOrders.size() > 0) { // if (taoOrders != null && taoOrders.size() > 0) {
// 存在修改 // // 存在修改
TaoOrder update = new TaoOrder(); // TaoOrder update = new TaoOrder();
update.setId(taoOrders.get(0).getId()); // update.setId(taoOrders.get(0).getId());
update.setSid(order.getSid()); // update.setSid(order.getSid());
update.setSellerRate(order.getSellerRate()); // update.setSellerRate(order.getSellerRate());
update.setBuyerRate(order.getBuyerRate()); // update.setBuyerRate(order.getBuyerRate());
update.setStatus(order.getStatus()); // update.setStatus(order.getStatus());
update.setModified(order.getModified()); // update.setModified(order.getModified());
update.setEndTime(order.getEndTime()); // update.setEndTime(order.getEndTime());
update.setConsignTime(order.getConsignTime()); // update.setConsignTime(order.getConsignTime());
update.setUpdateTime(new Date()); // update.setUpdateTime(new Date());
mapper.updateById(update); // mapper.updateById(update);
// 更新item // // 更新item
for (var item : order.getItems()) { // for (var item : order.getItems()) {
List<TaoOrderItem> taoOrderItems = itemMapper.selectList(new LambdaQueryWrapper<TaoOrderItem>().eq(TaoOrderItem::getOid, item.getOid())); // List<TaoOrderItem> taoOrderItems = itemMapper.selectList(new LambdaQueryWrapper<TaoOrderItem>().eq(TaoOrderItem::getOid, item.getOid()));
if (taoOrderItems != null && taoOrderItems.size() > 0) { // if (taoOrderItems != null && taoOrderItems.size() > 0) {
// 更新 // // 更新
TaoOrderItem itemUpdate = new TaoOrderItem(); // TaoOrderItem itemUpdate = new TaoOrderItem();
itemUpdate.setId(taoOrderItems.get(0).getId()); // itemUpdate.setId(taoOrderItems.get(0).getId());
itemUpdate.setRefundId(item.getRefundId()); // itemUpdate.setRefundId(item.getRefundId());
itemUpdate.setRefundStatus(item.getRefundStatus()); // itemUpdate.setRefundStatus(item.getRefundStatus());
itemUpdate.setStatus(item.getStatus()); // itemUpdate.setStatus(item.getStatus());
itemUpdate.setBuyerRate(item.getBuyerRate()); // itemUpdate.setBuyerRate(item.getBuyerRate());
itemUpdate.setSellerRate(item.getSellerRate()); // itemUpdate.setSellerRate(item.getSellerRate());
itemUpdate.setEndTime(item.getEndTime()); // itemUpdate.setEndTime(item.getEndTime());
itemUpdate.setConsignTime(item.getConsignTime()); // itemUpdate.setConsignTime(item.getConsignTime());
itemUpdate.setShippingType(item.getShippingType()); // itemUpdate.setShippingType(item.getShippingType());
itemUpdate.setLogisticsCompany(item.getLogisticsCompany()); // itemUpdate.setLogisticsCompany(item.getLogisticsCompany());
itemUpdate.setInvoiceNo(item.getInvoiceNo()); // itemUpdate.setInvoiceNo(item.getInvoiceNo());
itemMapper.updateById(itemUpdate); // itemMapper.updateById(itemUpdate);
} else { // } else {
// 新增 // // 新增
itemMapper.insert(item); // itemMapper.insert(item);
} // }
} // }
return ResultVo.error(ResultVoEnum.DataExist, "订单已经存在,更新成功"); // return ResultVo.error(ResultVoEnum.DataExist, "订单已经存在,更新成功");
} else { // } else {
// 不存在新增 // // 不存在新增
order.setShopId(shopId); // order.setShopId(shopId);
order.setCreateTime(new Date()); // order.setCreateTime(new Date());
mapper.insert(order); // mapper.insert(order);
// 添加item // // 添加item
for (var item : order.getItems()) { // for (var item : order.getItems()) {
itemMapper.insert(item); // itemMapper.insert(item);
} // }
return ResultVo.success(); // return ResultVo.success();
} // }
} catch (Exception e) { // } catch (Exception e) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); // TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return ResultVo.error(ResultVoEnum.SystemException, "系统异常:" + e.getMessage()); // return ResultVo.error(ResultVoEnum.SystemException, "系统异常:" + e.getMessage());
} // }
} // }
} //}
//
//
//
//

View File

@ -6,8 +6,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.qihang.common.common.PageQuery; import com.qihang.common.common.PageQuery;
import com.qihang.common.common.PageResult; import com.qihang.common.common.PageResult;
import com.qihang.common.common.ResultVoEnum; import com.qihang.common.common.ResultVoEnum;
import com.qihang.tao.domain.TaoOrder;
import com.qihang.tao.domain.TaoOrderItem;
import com.qihang.tao.domain.TaoRefund; import com.qihang.tao.domain.TaoRefund;
import com.qihang.tao.domain.bo.TaoRefundBo; import com.qihang.tao.domain.bo.TaoRefundBo;
import com.qihang.tao.service.TaoRefundService; import com.qihang.tao.service.TaoRefundService;

View File

@ -3,11 +3,11 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>com.qihang</groupId> <groupId>com.qihang</groupId>
<artifactId>qihang-oms</artifactId> <artifactId>qihangec-oms</artifactId>
<version>1.0-SNAPSHOT</version> <version>0.4.11</version>
<packaging>pom</packaging> <packaging>pom</packaging>
<name>qihang-oms</name> <name>qihangec-oms</name>
<url>http://maven.apache.org</url> <url>http://maven.apache.org</url>
<modules> <modules>
<module>sys-api</module> <module>sys-api</module>

View File

@ -7,12 +7,6 @@
<version>3.0.2</version> <version>3.0.2</version>
<relativePath/> <relativePath/>
</parent> </parent>
<!-- <parent>-->
<!-- <groupId>com.qihang</groupId>-->
<!-- <artifactId>qihang-oms</artifactId>-->
<!-- <version>1.0-SNAPSHOT</version>-->
<!-- </parent>-->
<artifactId>sys-api</artifactId> <artifactId>sys-api</artifactId>
<version>1.0</version> <version>1.0</version>
<packaging>jar</packaging> <packaging>jar</packaging>

View File

@ -1,8 +1,8 @@
# 页面标题 # 页面标题
VUE_APP_TITLE = 启航电商管理系统 VUE_APP_TITLE = 启航电商OMS系统
# 生产环境配置 # 生产环境配置
ENV = 'production' ENV = 'production'
# 启航电商管理系统/生产环境 # 启航电商OMS系统/生产环境
VUE_APP_BASE_API = '/prod-api' VUE_APP_BASE_API = '/prod-api'

View File

@ -1,10 +1,10 @@
# 页面标题 # 页面标题
VUE_APP_TITLE = 启航电商管理系统 VUE_APP_TITLE = 启航电商OMS系统
NODE_ENV = production NODE_ENV = production
# 测试环境配置 # 测试环境配置
ENV = 'staging' ENV = 'staging'
# 启航电商管理系统/测试环境 # 启航电商OMS系统/测试环境
VUE_APP_BASE_API = '/stage-api' VUE_APP_BASE_API = '/stage-api'

View File

@ -28,20 +28,20 @@
/> />
</el-form-item> </el-form-item>
<el-form-item label="申请时间" prop="created"> <!-- <el-form-item label="申请时间" prop="created">-->
<!-- <el-input <!-- &lt;!&ndash; <el-input-->
v-model="queryParams.created" <!-- v-model="queryParams.created"-->
placeholder="请输入退款申请时间。" <!-- placeholder="请输入退款申请时间。"-->
clearable <!-- clearable-->
@keyup.enter.native="handleQuery" <!-- @keyup.enter.native="handleQuery"-->
/> --> <!-- /> &ndash;&gt;-->
<el-date-picker clearable <!-- <el-date-picker clearable-->
v-model="queryParams.created" <!-- v-model="queryParams.created"-->
type="date" <!-- type="date"-->
value-format="yyyy-MM-dd" <!-- value-format="yyyy-MM-dd"-->
placeholder="请选择退款申请时间"> <!-- placeholder="请选择退款申请时间">-->
</el-date-picker> <!-- </el-date-picker>-->
</el-form-item> <!-- </el-form-item>-->
<!-- <el-form-item label="退款原因" prop="reason"> <!-- <el-form-item label="退款原因" prop="reason">
@ -53,14 +53,14 @@
/> />
</el-form-item> --> </el-form-item> -->
<el-form-item label="物流单号" prop="logisticsCode"> <!-- <el-form-item label="物流单号" prop="logisticsCode">-->
<el-input <!-- <el-input-->
v-model="queryParams.logisticsCode" <!-- v-model="queryParams.logisticsCode"-->
placeholder="请输入物流单号" <!-- placeholder="请输入物流单号"-->
clearable <!-- clearable-->
@keyup.enter.native="handleQuery" <!-- @keyup.enter.native="handleQuery"-->
/> <!-- />-->
</el-form-item> <!-- </el-form-item>-->
@ -100,8 +100,10 @@
<el-table-column label="服务单号" align="center" prop="serviceId" /> <el-table-column label="服务单号" align="center" prop="serviceId" />
<el-table-column label="类型" align="center" prop="customerExpect" > <el-table-column label="类型" align="center" prop="customerExpect" >
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag size="small" v-if="scope.row.customerExpect === 1"> 售前退款</el-tag>
<el-tag size="small" v-if="scope.row.customerExpect === 10"> 退货</el-tag> <el-tag size="small" v-if="scope.row.customerExpect === 10"> 退货</el-tag>
<el-tag size="small" v-if="scope.row.customerExpect === 20"> 换货</el-tag> <el-tag size="small" v-if="scope.row.customerExpect === 20"> 换货</el-tag>
<el-tag size="small" v-if="scope.row.customerExpect === 30"> 维修</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="店铺" align="center" prop="shopId" > <el-table-column label="店铺" align="center" prop="shopId" >

View File

@ -1,7 +1,7 @@
<template> <template>
<div class="login"> <div class="login">
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form"> <el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
<h3 class="title">曲美电商OMS系统</h3> <h3 class="title">启航电商OMS系统</h3>
<el-form-item prop="username"> <el-form-item prop="username">
<el-input <el-input
v-model="loginForm.username" v-model="loginForm.username"

View File

@ -128,12 +128,12 @@
<br /> <br />
<el-tag style="margin-bottom: 6px;" v-if="scope.row.hasPushErp === 1">已推送到ERP</el-tag> <el-tag style="margin-bottom: 6px;" v-if="scope.row.hasPushErp === 1">已推送到ERP</el-tag>
<el-tag type="danger" style="margin-bottom: 6px;" v-if="scope.row.hasPushErp === 0">待推送到ERP</el-tag> <el-tag type="danger" style="margin-bottom: 6px;" v-if="scope.row.hasPushErp === 0">待推送到ERP</el-tag>
<br /> <!-- <br />-->
<!-- 1无售后或售后关闭2售后处理中3退款中4 退款成功 --> <!-- &lt;!&ndash; 1无售后或售后关闭2售后处理中3退款中4 退款成功 &ndash;&gt;-->
<el-tag v-if="scope.row.refundStatus === 1">无售后或售后关闭</el-tag> <!-- <el-tag v-if="scope.row.refundStatus === 1">无售后或售后关闭</el-tag>-->
<el-tag v-if="scope.row.refundStatus === 2">售后处理中</el-tag> <!-- <el-tag v-if="scope.row.refundStatus === 2">售后处理中</el-tag>-->
<el-tag v-if="scope.row.refundStatus === 3">退款中</el-tag> <!-- <el-tag v-if="scope.row.refundStatus === 3">退款中</el-tag>-->
<el-tag v-if="scope.row.refundStatus === 4">退款成功</el-tag> <!-- <el-tag v-if="scope.row.refundStatus === 4">退款成功</el-tag>-->
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="订单金额" align="center" prop="amount" /> <el-table-column label="订单金额" align="center" prop="amount" />
@ -146,7 +146,7 @@
<el-table-column label="发货信息" align="center" prop="shippingNumber" > <el-table-column label="发货信息" align="center" prop="shippingNumber" >
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.shippingNumber}}&nbsp; {{scope.row.shippingCompany}}<br /> {{scope.row.shippingNumber}}&nbsp; {{scope.row.shippingCompany}}<br />
{{scope.row.shippingTime}} {{ parseTime(scope.row.shippingTime, '{y}-{m}-{d} {h}:{m}:{s}') }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
@ -265,16 +265,26 @@
<el-table-column label="SKU" prop="goodsSpec" width="150"></el-table-column> <el-table-column label="SKU" prop="goodsSpec" width="150"></el-table-column>
<el-table-column label="sku编码" prop="specNum"></el-table-column> <el-table-column label="sku编码" prop="specNum"></el-table-column>
<el-table-column label="单价" prop="goodsPrice"></el-table-column> <el-table-column label="单价" prop="goodsPrice"></el-table-column>
<el-table-column label="子订单金额" prop="itemAmount"></el-table-column>
<el-table-column label="实付金额" prop="payment"></el-table-column>
<el-table-column label="数量" prop="quantity"></el-table-column> <el-table-column label="数量" prop="quantity"></el-table-column>
<el-table-column label="退款状态" prop="refundStatus"> <el-table-column label="状态" prop="refundStatus">
<template slot-scope="scope"> <template slot-scope="scope">
<!-- 1无售后或售后关闭2售后处理中3退款中4 退款成功 --> <el-tag v-if="scope.row.orderStatus === 1">待发货</el-tag>
<el-tag v-if="scope.row.refundStatus === 1">无售后或售后关闭</el-tag> <el-tag v-if="scope.row.orderStatus === 2">已发货</el-tag>
<el-tag v-if="scope.row.refundStatus === 2">售后处理中</el-tag> <el-tag v-if="scope.row.orderStatus === 3">已完成</el-tag>
<el-tag v-if="scope.row.refundStatus === 3">退款中</el-tag> <el-tag v-if="scope.row.orderStatus === 11">已取消</el-tag>
<el-tag v-if="scope.row.refundStatus === 4">退款成功</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<!-- <el-table-column label="退款状态" prop="refundStatus">-->
<!-- <template slot-scope="scope">-->
<!-- &lt;!&ndash; 1无售后或售后关闭2售后处理中3退款中4 退款成功 &ndash;&gt;-->
<!-- <el-tag v-if="scope.row.refundStatus === 1">无售后或售后关闭</el-tag>-->
<!-- <el-tag v-if="scope.row.refundStatus === 2">售后处理中</el-tag>-->
<!-- <el-tag v-if="scope.row.refundStatus === 3">退款中</el-tag>-->
<!-- <el-tag v-if="scope.row.refundStatus === 4">退款成功</el-tag>-->
<!-- </template>-->
<!-- </el-table-column>-->
</el-table> </el-table>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="优惠明细" name="orderCou" lazy> <el-tab-pane label="优惠明细" name="orderCou" lazy>

View File

@ -31,12 +31,18 @@
<el-table v-loading="loading" :data="lists" > <el-table v-loading="loading" :data="lists" >
<!-- <el-table-column type="selection" width="55" align="center" />--> <!-- <el-table-column type="selection" width="55" align="center" />-->
<el-table-column label="ID" align="center" prop="id" /> <!-- <el-table-column label="ID" align="center" prop="id" />-->
<el-table-column label="店铺" align="center" prop="shopId" /> <el-table-column label="店铺" align="center" prop="shopId" >
<template slot-scope="scope">
<span>{{ shopList.find(x=>x.id === scope.row.shopId).name }}</span>
</template>
</el-table-column>
<el-table-column label="平台" align="center" prop="shopType" > <el-table-column label="平台" align="center" prop="shopType" >
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag size="small" v-if="scope.row.shopType === 1">天猫</el-tag> <el-tag size="small" v-if="scope.row.shopType === 1">天猫</el-tag>
<el-tag size="small" v-if="scope.row.shopType === 2">京东</el-tag> <el-tag size="small" v-if="scope.row.shopType === 2">京东</el-tag>
<el-tag size="small" v-if="scope.row.shopType === 3">抖店</el-tag>
<el-tag size="small" v-if="scope.row.shopType === 4">拼多多</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="类型" align="center" prop="pullType" > <el-table-column label="类型" align="center" prop="pullType" >
@ -51,7 +57,11 @@
<el-table-column label="参数" align="center" prop="pullParams" /> <el-table-column label="参数" align="center" prop="pullParams" />
<el-table-column label="结果" align="center" prop="pullResult" /> <el-table-column label="结果" align="center" prop="pullResult" />
<el-table-column label="耗时ms" align="center" prop="duration" /> <el-table-column label="耗时ms" align="center" prop="duration" />
<el-table-column label="时间" align="center" prop="pullTime" /> <el-table-column label="时间" align="center" prop="pullTime" >
<template slot-scope="scope">
{{ parseTime(scope.row.pullTime, '{y}-{m}-{d} {h}:{m}:{s}') }}
</template>
</el-table-column>
</el-table> </el-table>

View File

@ -31,12 +31,18 @@
<el-table v-loading="loading" :data="lists" > <el-table v-loading="loading" :data="lists" >
<!-- <el-table-column type="selection" width="55" align="center" />--> <!-- <el-table-column type="selection" width="55" align="center" />-->
<el-table-column label="ID" align="center" prop="id" /> <!-- <el-table-column label="ID" align="center" prop="id" />-->
<el-table-column label="店铺" align="center" prop="shopId" /> <el-table-column label="店铺" align="center" prop="shopId" >
<template slot-scope="scope">
<span>{{ shopList.find(x=>x.id === scope.row.shopId).name }}</span>
</template>
</el-table-column>
<el-table-column label="平台" align="center" prop="shopType" > <el-table-column label="平台" align="center" prop="shopType" >
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag size="small" v-if="scope.row.shopType === 1">天猫</el-tag> <el-tag size="small" v-if="scope.row.shopType === 1">天猫</el-tag>
<el-tag size="small" v-if="scope.row.shopType === 2">京东</el-tag> <el-tag size="small" v-if="scope.row.shopType === 2">京东</el-tag>
<el-tag size="small" v-if="scope.row.shopType === 3">抖店</el-tag>
<el-tag size="small" v-if="scope.row.shopType === 4">拼多多</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="类型" align="center" prop="pullType" > <el-table-column label="类型" align="center" prop="pullType" >
@ -51,7 +57,13 @@
<el-table-column label="参数" align="center" prop="pullParams" /> <el-table-column label="参数" align="center" prop="pullParams" />
<el-table-column label="结果" align="center" prop="pullResult" /> <el-table-column label="结果" align="center" prop="pullResult" />
<el-table-column label="耗时ms" align="center" prop="duration" /> <el-table-column label="耗时ms" align="center" prop="duration" />
<el-table-column label="时间" align="center" prop="pullTime" />
<el-table-column label="时间" align="center" prop="pullTime" >
<template slot-scope="scope">
{{ parseTime(scope.row.pullTime, '{y}-{m}-{d} {h}:{m}:{s}') }}
</template>
</el-table-column>
</el-table> </el-table>

View File

@ -7,7 +7,7 @@ function resolve(dir) {
const CompressionPlugin = require('compression-webpack-plugin') const CompressionPlugin = require('compression-webpack-plugin')
const name = process.env.VUE_APP_TITLE || '启航电商管理系统' // 网页标题 const name = process.env.VUE_APP_TITLE || '启航电商OMS系统' // 网页标题
const port = process.env.port || process.env.npm_config_port || 80 // 端口 const port = process.env.port || process.env.npm_config_port || 80 // 端口