大更新

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"
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>
<!-- <parent>-->
<!-- <groupId>com.qihang</groupId>-->
<!-- <artifactId>qihang-oms</artifactId>-->
<!-- <version>1.0-SNAPSHOT</version>-->
<!-- </parent>-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>

View File

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

View File

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

View File

@ -4,10 +4,10 @@
<parent>
<groupId>com.qihang</groupId>
<artifactId>core</artifactId>
<version>1.0-SNAPSHOT</version>
<version>0.4.11</version>
</parent>
<groupId>com.qihang</groupId>
<!-- <groupId>com.qihang</groupId>-->
<artifactId>security</artifactId>
<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"
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>
<!-- <parent>-->
<!-- <groupId>com.qihang</groupId>-->
<!-- <artifactId>qihang-oms</artifactId>-->
<!-- <version>1.0-SNAPSHOT</version>-->
<!-- </parent>-->
<parent>
<groupId>org.springframework.boot</groupId>
<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.20240301.jar</systemPath>
</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>
<!-- <dependencyManagement>-->
<!-- <dependencies>-->

View File

@ -15,8 +15,8 @@ import org.springframework.context.annotation.ComponentScan;
//@EnableWebSecurity
@EnableDiscoveryClient
@ComponentScan(basePackages={"com.qihang"})
//@MapperScan("com.qihang.tao.mapper")
@ComponentScan(basePackages={"com.qihang","tech.qihangec.open.tao"})
//@MapperScan(basePackages ={"tech.qihangec.open.tao.mapper","com.qihang.tao.mapper"})
@SpringBootApplication
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;
@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 {
@Bean
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.openApi.ApiCommon;
//import com.qihang.tao.api.ApiResult;
import com.qihang.tao.openApi.OrderApiHelper;
import com.qihang.tao.common.TaoRequest;
import com.qihang.tao.domain.TaoOrder;
import com.qihang.tao.service.SysShopPullLasttimeService;
import com.qihang.tao.service.SysShopPullLogsService;
import com.qihang.tao.service.TaoOrderService;
import com.taobao.api.ApiException;
import lombok.AllArgsConstructor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.*;
import tech.qihangec.open.tao.OrderApiService;
import java.time.LocalDateTime;
import java.util.Date;
@ -36,11 +34,12 @@ import java.util.Date;
public class OrderApiController {
private static Logger log = LoggerFactory.getLogger(OrderApiController.class);
private final TaoOrderService orderService;
// private final TaoOrderService orderService;
private final ApiCommon apiCommon;
private final MqUtils mqUtils;
private final SysShopPullLogsService pullLogsService;
private final SysShopPullLasttimeService pullLasttimeService;
private final OrderApiService orderApiService;
/**
* 增量更新订单
* @param req
@ -83,77 +82,85 @@ public class OrderApiController {
startTime = lasttime.getLasttime().minusHours(1);//取上次结束一个小时前
endTime = startTime.plusDays(1);//取24小时
if(endTime.isAfter(LocalDateTime.now())){
endTime = LocalDateTime.now();
}
}
//第一次获取
ResultVo<TaoOrder> upResult = OrderApiHelper.pullIncrementOrder(startTime,endTime,pageIndex, pageSize, url, appKey, appSecret, sessionKey);
if (upResult.getCode() != ResultVoEnum.SUCCESS.getIndex()) {
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());
try {
orderApiService.pullOrder(startTime,endTime,"手动拉取", req.getShopId(), url,appKey,appSecret,sessionKey);
// tech.qihangec.open.tao.OrderApiHelper.pullIncrementOrder(startTime, endTime, pageIndex, pageSize, url, appKey, appSecret, sessionKey);
String s="";
}catch (Exception e){
String s="";
}
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() + "存在、更新****************/");
mqUtils.sendApiMessage(MqMessage.build(EnumShopType.TAO, MqType.ORDER_MESSAGE,order.getTid().toString()));
hasExistOrder++;
} else if (result.getCode() == ResultVoEnum.SUCCESS.getIndex()) {
log.info("/**************主动更新tao订单开始更新数据库" + order.getId() + "不存在、新增****************/");
mqUtils.sendApiMessage(MqMessage.build(EnumShopType.TAO,MqType.ORDER_MESSAGE,order.getTid().toString()));
insertSuccess++;
} else {
log.info("/**************主动更新tao订单开始更新数据库" + order.getId() + "报错****************/");
totalError++;
}
}
if(lasttime == null){
// 新增
SysShopPullLasttime insertLasttime = new SysShopPullLasttime();
insertLasttime.setShopId(req.getShopId());
insertLasttime.setCreateTime(new Date());
insertLasttime.setLasttime(endTime);
insertLasttime.setPullType("ORDER");
pullLasttimeService.save(insertLasttime);
}else {
// 修改
SysShopPullLasttime updateLasttime = new SysShopPullLasttime();
updateLasttime.setId(lasttime.getId());
updateLasttime.setUpdateTime(new Date());
updateLasttime.setLasttime(endTime);
pullLasttimeService.updateById(updateLasttime);
}
SysShopPullLogs logs = new SysShopPullLogs();
logs.setShopType(EnumShopType.TAO.getIndex());
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(msg);
// //第一次获取
// ResultVo<TaoOrder> upResult = OrderApiHelper.pullIncrementOrder(startTime,endTime,pageIndex, pageSize, url, appKey, appSecret, sessionKey);
//
// if (upResult.getCode() != ResultVoEnum.SUCCESS.getIndex()) {
// 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() + "存在、更新****************/");
//// mqUtils.sendApiMessage(MqMessage.build(EnumShopType.TAO, MqType.ORDER_MESSAGE,order.getTid().toString()));
//// hasExistOrder++;
//// } else if (result.getCode() == ResultVoEnum.SUCCESS.getIndex()) {
//// log.info("/**************主动更新tao订单开始更新数据库" + order.getId() + "不存在、新增****************/");
//// mqUtils.sendApiMessage(MqMessage.build(EnumShopType.TAO,MqType.ORDER_MESSAGE,order.getTid().toString()));
//// insertSuccess++;
//// } else {
//// log.info("/**************主动更新tao订单开始更新数据库" + order.getId() + "报错****************/");
//// totalError++;
//// }
// }
//
// if(lasttime == null){
// // 新增
// SysShopPullLasttime insertLasttime = new SysShopPullLasttime();
// insertLasttime.setShopId(req.getShopId());
// insertLasttime.setCreateTime(new Date());
// insertLasttime.setLasttime(endTime);
// insertLasttime.setPullType("ORDER");
// pullLasttimeService.save(insertLasttime);
//
// }else {
// // 修改
// SysShopPullLasttime updateLasttime = new SysShopPullLasttime();
// updateLasttime.setId(lasttime.getId());
// updateLasttime.setUpdateTime(new Date());
// updateLasttime.setLasttime(endTime);
// pullLasttimeService.updateById(updateLasttime);
// }
//
// SysShopPullLogs logs = new SysShopPullLogs();
// logs.setShopType(EnumShopType.TAO.getIndex());
// 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 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() + "****************/");
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++;
}
}
//计算总页数
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 + "****************/");
// //计算总页数
// 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" + "****************/");
return AjaxResult.success();
}

View File

@ -1,24 +1,27 @@
package com.qihang.tao.controller;
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.enums.EnumShopType;
import com.qihang.common.mq.MqMessage;
import com.qihang.common.mq.MqType;
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.domain.TaoGoods;
import com.qihang.tao.domain.TaoOrder;
import com.qihang.tao.domain.bo.TaoGoodsBo;
import com.qihang.tao.domain.bo.TaoOrderBo;
import com.qihang.tao.domain.bo.TaoOrderPushBo;
import com.qihang.tao.service.TaoOrderService;
import com.taobao.api.ApiException;
import lombok.AllArgsConstructor;
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
@RestController
@ -28,9 +31,15 @@ public class OrderContoller extends BaseController {
private final MqUtils mqUtils;
@RequestMapping(value = "/list", method = RequestMethod.GET)
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);
}catch (Exception e){
return getDataTable(new ArrayList<>());
}
}
@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.MqUtils;
import com.qihang.security.common.BaseController;
import com.qihang.tao.domain.TaoOrder;
import com.qihang.tao.domain.TaoRefund;
import com.qihang.tao.domain.bo.TaoOrderBo;
import com.qihang.tao.domain.bo.TaoOrderPushBo;
import com.qihang.tao.domain.bo.TaoRefundBo;
import com.qihang.tao.service.TaoOrderService;
import com.qihang.tao.service.TaoRefundService;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;

View File

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

View File

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

View File

@ -1,217 +1,216 @@
package com.qihang.tao.openApi;
import com.qihang.common.common.ResultVo;
import com.qihang.common.enums.HttpStatus;
import com.qihang.tao.domain.TaoOrder;
import com.taobao.api.ApiException;
import com.taobao.api.DefaultTaobaoClient;
import com.taobao.api.TaobaoClient;
import com.taobao.api.request.TopOaidDecryptRequest;
import com.taobao.api.request.TradesSoldGetRequest;
import com.taobao.api.request.TradesSoldIncrementGetRequest;
import com.taobao.api.response.TopOaidDecryptResponse;
import com.taobao.api.response.TradesSoldGetResponse;
import com.taobao.api.response.TradesSoldIncrementGetResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.util.StringUtils;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class OrderApiHelper {
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," +
"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" +
",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";
/**
* 更新订单循环分页
*
* @param pageNo
* @param pageSize
* @param sessionKey
* @return
*/
public static ResultVo<TaoOrder> pullOrder(Long pageNo, Long pageSize, String url, String appKey, String appSecret, String sessionKey) throws ApiException {
log.info("=======开始全量拉取订单{}=========", LocalDateTime.now());
TaobaoClient client = new DefaultTaobaoClient(url, appKey, appSecret);
TradesSoldGetRequest req = new TradesSoldGetRequest();
req.setFields(ORDER_FIELDS);
// req.setStartCreated(DateUtil.stringtoDate("2019-11-27 00:00:00"));
// req.setEndCreated(DateUtil.stringtoDate("2019-12-04 23:59:59"));
// req.setStatus("WAIT_SELLER_SEND_GOODS");
// req.setBuyerNick("美丽的你美丽的我");
req.setType("fixed");//一口价
// req.setExtType("service");
// req.setRateStatus("RATE_UNBUYER");
// req.setTag("time_card");
req.setPageNo(pageNo);
req.setPageSize(pageSize);
//package com.qihang.tao.openApi;
//
//
//import com.qihang.common.common.ResultVo;
//import com.qihang.common.enums.HttpStatus;
//import com.taobao.api.ApiException;
//import com.taobao.api.DefaultTaobaoClient;
//import com.taobao.api.TaobaoClient;
//import com.taobao.api.request.TopOaidDecryptRequest;
//import com.taobao.api.request.TradesSoldGetRequest;
//import com.taobao.api.request.TradesSoldIncrementGetRequest;
//import com.taobao.api.response.TopOaidDecryptResponse;
//import com.taobao.api.response.TradesSoldGetResponse;
//import com.taobao.api.response.TradesSoldIncrementGetResponse;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.springframework.util.StringUtils;
//
//import java.time.LocalDateTime;
//import java.time.ZoneOffset;
//import java.time.format.DateTimeFormatter;
//import java.time.temporal.ChronoUnit;
//import java.util.ArrayList;
//import java.util.Date;
//import java.util.List;
//
//public class OrderApiHelper {
// 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," +
// "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" +
// ",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";
//
// /**
// * 更新订单循环分页
// *
// * @param pageNo
// * @param pageSize
// * @param sessionKey
// * @return
// */
// public static ResultVo<TaoOrder> pullOrder(Long pageNo, Long pageSize, String url, String appKey, String appSecret, String sessionKey) throws ApiException {
// log.info("=======开始全量拉取订单{}=========", LocalDateTime.now());
// TaobaoClient client = new DefaultTaobaoClient(url, appKey, appSecret);
//
// TradesSoldGetRequest req = new TradesSoldGetRequest();
// req.setFields(ORDER_FIELDS);
//// req.setStartCreated(DateUtil.stringtoDate("2019-11-27 00:00:00"));
//// req.setEndCreated(DateUtil.stringtoDate("2019-12-04 23:59:59"));
//// req.setStatus("WAIT_SELLER_SEND_GOODS");
//// req.setBuyerNick("美丽的你美丽的我");
// req.setType("fixed");//一口价
//// req.setExtType("service");
//// req.setRateStatus("RATE_UNBUYER");
//// req.setTag("time_card");
// req.setPageNo(pageNo);
// 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.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();
//// req.setUseHasNext(true);
//// req.setBuyerOpenId("AAHm5d-EAAeGwJedwSHpg8bT");
// TradesSoldIncrementGetResponse rsp = client.execute(req, sessionKey);
//
//
// 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);
//
// TopOaidDecryptRequest.ReceiverQuery obj3 = new TopOaidDecryptRequest.ReceiverQuery();
// list2.add(obj3);
// obj3.setOaid("1bhibPTekQ9Vico6BCjHicSUS6j5e9RRZkeyPzqeo41ibibkp5UTVZQC2wdLEQ0BssjpbscJyZy");
// obj3.setTid("3796207345637527441");
// obj3.setScene("1006");
// obj3.setSecretNoDays(15L);
// //有数据
// for (var trade : rsp.getTrades()) {
// //组装订单
// TaoOrder taoOrder = OrderAssembleHelper.assembleOrder(trade);
//
// 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");
TradesSoldIncrementGetResponse rsp = client.execute(req, sessionKey);
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);
}
}
// 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;
import com.qihang.tao.domain.TaoOrder;
import com.qihang.tao.domain.TaoOrderItem;
import com.taobao.api.domain.Trade;
import org.springframework.util.StringUtils;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
public class OrderAssembleHelper {
/**
* 组织订单
* @param trade
* @return
*/
public static TaoOrder assembleOrder(Trade trade){
try {
TaoOrder order = new TaoOrder();
order.setTid(trade.getTid().toString());
order.setTitle(trade.getTitle());
order.setType(trade.getType());
order.setSellerFlag(trade.getSellerFlag() + "");
order.setHasBuyerMessage(trade.getHasBuyerMessage() + "");
order.setCreditCardFee(trade.getCreditCardFee());
order.setCreated(trade.getCreated());
order.setModified(trade.getModified());
order.setPayTime(trade.getPayTime());
// order.setPrice(Double.parseDouble(trade.getPrice()));
order.setTotalFee(Double.parseDouble(trade.getTotalFee()));
order.setAdjustFee(Double.parseDouble(trade.getAdjustFee()));
order.setPostFee(BigDecimal.valueOf(Double.parseDouble(trade.getPostFee())));
order.setDiscountFee(BigDecimal.valueOf(Double.parseDouble(trade.getDiscountFee())));
order.setPayment(BigDecimal.valueOf(Double.parseDouble(trade.getPayment())));
order.setReceivedPayment(BigDecimal.valueOf(Double.parseDouble(trade.getReceivedPayment())));
order.setBuyerNick(trade.getBuyerNick());
order.setBuyerOpenUid(trade.getBuyerOpenUid());
order.setAlipayNo(trade.getAlipayNo());
order.setBuyerAlipayNo(trade.getBuyerAlipayNo());
order.setBuyerEmail(trade.getBuyerEmail());
order.setBuyerMemo(trade.getBuyerMemo());
order.setBuyerMessage(trade.getBuyerMessage());
order.setMarkDesc(trade.getMarkDesc());
order.setSellerMemo(trade.getSellerMemo());
order.setReceiverCountry(trade.getReceiverCountry());
order.setReceiverState(trade.getReceiverState());
order.setReceiverCity(trade.getReceiverCity());
order.setReceiverDistrict(trade.getReceiverDistrict());
order.setReceiverTown(trade.getReceiverTown());
order.setReceiverAddress(trade.getReceiverAddress());
order.setReceiverName(trade.getReceiverName());
order.setReceiverMobile(trade.getReceiverMobile());
order.setReceiverPhone(trade.getReceiverPhone());
order.setSid(trade.getSid());
order.setYfxFee(trade.getYfxFee());
order.setHasYfx(trade.getHasYfx()+"");
// order.setNumIid(trade.getNumIid() + "");
// order.setNum(trade.getNum().intValue());
order.setStatus(trade.getStatus());
order.setConsignTime(trade.getConsignTime());
order.setEndTime(trade.getEndTime());
order.setOaid(trade.getOaid());
List<TaoOrderItem> items = new ArrayList<>();
for (var item : trade.getOrders()) {
TaoOrderItem orderItem = new TaoOrderItem();
orderItem.setTitle(item.getTitle());
orderItem.setTid(trade.getTid());
orderItem.setOid(item.getOid());
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.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.setPartMjzDiscount(StringUtils.hasText(item.getPartMjzDiscount()) ? Double.parseDouble(item.getPartMjzDiscount()):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.setPicPath(item.getPicPath());
orderItem.setNumIid(item.getNumIid());
orderItem.setSkuId(item.getSkuId());
orderItem.setOuterIid(item.getOuterIid());
orderItem.setOuterSkuId(item.getOuterSkuId());
orderItem.setSkuPropertiesName(item.getSkuPropertiesName());
orderItem.setItemMealId(item.getItemMealId() == null ? "" : item.getItemMealId() + "");
orderItem.setItemMealName(item.getItemMealName());
orderItem.setNum(item.getNum().intValue());
orderItem.setRefundStatus(item.getRefundStatus());
orderItem.setStatus(item.getStatus());
orderItem.setBuyerRate(item.getBuyerRate() + "");
orderItem.setSellerRate(item.getSellerRate() + "");
orderItem.setRefundId(item.getRefundId());
orderItem.setSellerType(item.getSellerType());
orderItem.setCid(item.getCid());
orderItem.setEndTime(item.getEndTime());
orderItem.setConsignTime(item.getConsignTime());
orderItem.setShippingType(item.getShippingType());
orderItem.setLogisticsCompany(item.getLogisticsCompany());
orderItem.setInvoiceNo(item.getInvoiceNo());
items.add(orderItem);
}
order.setItems(items);
return order;
}catch (Exception e){
e.printStackTrace();
return null;
}
}
}
//package com.qihang.tao.openApi;
//
//import com.qihang.tao.domain.TaoOrder;
//import com.qihang.tao.domain.TaoOrderItem;
//import com.taobao.api.domain.Trade;
//import org.springframework.util.StringUtils;
//
//import java.math.BigDecimal;
//import java.util.ArrayList;
//import java.util.List;
//
//public class OrderAssembleHelper {
// /**
// * 组织订单
// * @param trade
// * @return
// */
// public static TaoOrder assembleOrder(Trade trade){
// try {
// TaoOrder order = new TaoOrder();
// order.setTid(trade.getTid().toString());
// order.setTitle(trade.getTitle());
// order.setType(trade.getType());
// order.setSellerFlag(trade.getSellerFlag() + "");
// order.setHasBuyerMessage(trade.getHasBuyerMessage() + "");
// order.setCreditCardFee(trade.getCreditCardFee());
// order.setCreated(trade.getCreated());
// order.setModified(trade.getModified());
// order.setPayTime(trade.getPayTime());
//// order.setPrice(Double.parseDouble(trade.getPrice()));
// order.setTotalFee(Double.parseDouble(trade.getTotalFee()));
// order.setAdjustFee(Double.parseDouble(trade.getAdjustFee()));
// order.setPostFee(BigDecimal.valueOf(Double.parseDouble(trade.getPostFee())));
// order.setDiscountFee(BigDecimal.valueOf(Double.parseDouble(trade.getDiscountFee())));
// order.setPayment(BigDecimal.valueOf(Double.parseDouble(trade.getPayment())));
// order.setReceivedPayment(BigDecimal.valueOf(Double.parseDouble(trade.getReceivedPayment())));
// order.setBuyerNick(trade.getBuyerNick());
// order.setBuyerOpenUid(trade.getBuyerOpenUid());
// order.setAlipayNo(trade.getAlipayNo());
// order.setBuyerAlipayNo(trade.getBuyerAlipayNo());
// order.setBuyerEmail(trade.getBuyerEmail());
// order.setBuyerMemo(trade.getBuyerMemo());
// order.setBuyerMessage(trade.getBuyerMessage());
// order.setMarkDesc(trade.getMarkDesc());
// order.setSellerMemo(trade.getSellerMemo());
// order.setReceiverCountry(trade.getReceiverCountry());
// order.setReceiverState(trade.getReceiverState());
// order.setReceiverCity(trade.getReceiverCity());
// order.setReceiverDistrict(trade.getReceiverDistrict());
// order.setReceiverTown(trade.getReceiverTown());
// order.setReceiverAddress(trade.getReceiverAddress());
// order.setReceiverName(trade.getReceiverName());
// order.setReceiverMobile(trade.getReceiverMobile());
// order.setReceiverPhone(trade.getReceiverPhone());
// order.setSid(trade.getSid());
// order.setYfxFee(trade.getYfxFee());
// order.setHasYfx(trade.getHasYfx()+"");
//// order.setNumIid(trade.getNumIid() + "");
//// order.setNum(trade.getNum().intValue());
// order.setStatus(trade.getStatus());
// order.setConsignTime(trade.getConsignTime());
// order.setEndTime(trade.getEndTime());
// order.setOaid(trade.getOaid());
// List<TaoOrderItem> items = new ArrayList<>();
// for (var item : trade.getOrders()) {
// TaoOrderItem orderItem = new TaoOrderItem();
// orderItem.setTitle(item.getTitle());
// orderItem.setTid(trade.getTid());
// orderItem.setOid(item.getOid());
// 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.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.setPartMjzDiscount(StringUtils.hasText(item.getPartMjzDiscount()) ? Double.parseDouble(item.getPartMjzDiscount()):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.setPicPath(item.getPicPath());
// orderItem.setNumIid(item.getNumIid());
// orderItem.setSkuId(item.getSkuId());
// orderItem.setOuterIid(item.getOuterIid());
// orderItem.setOuterSkuId(item.getOuterSkuId());
// orderItem.setSkuPropertiesName(item.getSkuPropertiesName());
// orderItem.setItemMealId(item.getItemMealId() == null ? "" : item.getItemMealId() + "");
// orderItem.setItemMealName(item.getItemMealName());
// orderItem.setNum(item.getNum().intValue());
// orderItem.setRefundStatus(item.getRefundStatus());
// orderItem.setStatus(item.getStatus());
// orderItem.setBuyerRate(item.getBuyerRate() + "");
// orderItem.setSellerRate(item.getSellerRate() + "");
// orderItem.setRefundId(item.getRefundId());
// orderItem.setSellerType(item.getSellerType());
// orderItem.setCid(item.getCid());
// orderItem.setEndTime(item.getEndTime());
// orderItem.setConsignTime(item.getConsignTime());
// orderItem.setShippingType(item.getShippingType());
// orderItem.setLogisticsCompany(item.getLogisticsCompany());
// orderItem.setInvoiceNo(item.getInvoiceNo());
//
// items.add(orderItem);
// }
// order.setItems(items);
// return order;
// }catch (Exception e){
// e.printStackTrace();
// return null;
// }
// }
//}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,7 +1,7 @@
<template>
<div class="login">
<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-input
v-model="loginForm.username"

View File

@ -128,12 +128,12 @@
<br />
<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>
<br />
<!-- 1无售后或售后关闭2售后处理中3退款中4 退款成功 -->
<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>
<!-- <br />-->
<!-- &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-column label="订单金额" align="center" prop="amount" />
@ -146,7 +146,7 @@
<el-table-column label="发货信息" align="center" prop="shippingNumber" >
<template slot-scope="scope">
{{scope.row.shippingNumber}}&nbsp; {{scope.row.shippingCompany}}<br />
{{scope.row.shippingTime}}
{{ parseTime(scope.row.shippingTime, '{y}-{m}-{d} {h}:{m}:{s}') }}
</template>
</el-table-column>
<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="specNum"></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="refundStatus">
<el-table-column label="状态" prop="refundStatus">
<template slot-scope="scope">
<!-- 1无售后或售后关闭2售后处理中3退款中4 退款成功 -->
<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>
<el-tag v-if="scope.row.orderStatus === 1">待发货</el-tag>
<el-tag v-if="scope.row.orderStatus === 2">已发货</el-tag>
<el-tag v-if="scope.row.orderStatus === 3">已完成</el-tag>
<el-tag v-if="scope.row.orderStatus === 11">已取消</el-tag>
</template>
</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-tab-pane>
<el-tab-pane label="优惠明细" name="orderCou" lazy>

View File

@ -31,12 +31,18 @@
<el-table v-loading="loading" :data="lists" >
<!-- <el-table-column type="selection" width="55" align="center" />-->
<el-table-column label="ID" align="center" prop="id" />
<el-table-column label="店铺" align="center" prop="shopId" />
<!-- <el-table-column label="ID" align="center" prop="id" />-->
<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" >
<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 === 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>
</el-table-column>
<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="pullResult" />
<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>

View File

@ -31,12 +31,18 @@
<el-table v-loading="loading" :data="lists" >
<!-- <el-table-column type="selection" width="55" align="center" />-->
<el-table-column label="ID" align="center" prop="id" />
<el-table-column label="店铺" align="center" prop="shopId" />
<!-- <el-table-column label="ID" align="center" prop="id" />-->
<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" >
<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 === 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>
</el-table-column>
<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="pullResult" />
<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>

View File

@ -7,7 +7,7 @@ function resolve(dir) {
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 // 端口