5.9新需求修改

This commit is contained in:
dev 2025-05-21 08:46:40 +08:00
parent 2d48aabf61
commit 569fbf1bd4
20 changed files with 375 additions and 14 deletions

View File

@ -8,5 +8,9 @@ public interface RemoteFBADataService {
void updateAmzFbaDataToken() throws Exception;
void pullPurchaseOrderData(String startDate, String endDate) throws Exception;
void updatePurchaseOrderSeller(String startDate, String endDate) throws Exception;
void quoteReminder() throws Exception;
}

View File

@ -2,6 +2,8 @@ package org.asinkj.amz.controller;
import java.util.List;
import cn.dev33.satoken.annotation.SaCheckRole;
import cn.dev33.satoken.annotation.SaMode;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
@ -47,6 +49,7 @@ public class BizPurchaseOrderController extends BaseController {
* 查询采购单主列表
*/
@SaCheckPermission("amz:purchaseOrder:list")
@SaCheckRole(value = {"gongying","gengdan", "superadmin"}, mode = SaMode.OR)
@GetMapping("/list")
public TableDataInfo<BizPurchaseOrderVo> list(BizPurchaseOrderBo bo, PageQuery pageQuery) {
return bizPurchaseOrderService.queryPageList(bo, pageQuery);

View File

@ -93,6 +93,16 @@ public class BizSendOrderController extends BaseController {
return toAjax(bizSendOrderService.updateByBo(bo));
}
@SaCheckRole(value = {"gongying","gengdan", "superadmin"}, mode = SaMode.OR)
@Log(title = "供应商创建的发货单", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping("/link")
public R<Void> link(@Validated(EditGroup.class) @RequestBody BizSendOrderBo bo) {
bizSendOrderService.linkByBo(bo);
return R.ok();
}
/**
* 删除供应商创建的发货单
*

View File

@ -64,10 +64,10 @@ public class BizShipForwardController extends BaseController {
*
* @param id 主键
*/
@SaCheckPermission("amz:shipForward:query")
@SaCheckRole(value = {"gengdan", "gongying", "superadmin"}, mode = SaMode.OR)
@GetMapping("/{id}")
public R<BizShipForwardVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
@PathVariable Long id) {
return R.ok(bizShipForwardService.queryById(id));
}
@ -86,7 +86,7 @@ public class BizShipForwardController extends BaseController {
/**
* 修改货件转发
*/
@SaCheckPermission("amz:shipForward:edit")
@SaCheckRole(value = {"gengdan", "superadmin"}, mode = SaMode.OR)
@Log(title = "货件转发", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
@ -94,6 +94,15 @@ public class BizShipForwardController extends BaseController {
return toAjax(bizShipForwardService.updateByBo(bo));
}
@SaCheckRole(value = {"gengdan", "gongying", "superadmin"}, mode = SaMode.OR)
@Log(title = "货件转发", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping("/sendUpdate")
public R<Void> sendUpdate(@Validated(EditGroup.class) @RequestBody BizShipForwardBo bo) {
bizShipForwardService.sendUpdateByBo(bo);
return R.ok();
}
/**
* 删除货件转发
*

View File

@ -113,6 +113,14 @@ public class BizShipmentPlanController extends BaseController {
return toAjax(bizShipmentPlanService.updateByBo(bo));
}
@SaCheckPermission("amz:shipmentPlan:edit")
@Log(title = "货件计划", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping("link")
public R<Void> link(@Validated(EditGroup.class) @RequestBody BizShipmentPlanBo bo) {
return toAjax(bizShipmentPlanService.linkByBo(bo));
}
/**
* 删除货件计划
*

View File

@ -179,5 +179,11 @@ public class BizShipmentPlan extends TenantEntity {
*/
private String inboundPlanId;
/**
* 供应商发货单id
*/
private Long sendOrderId;
}

View File

@ -191,4 +191,12 @@ public class BizShipmentPlanBo extends BaseEntity {
// @NotBlank(message = "物流渠道不能为空", groups = { AddGroup.class, EditGroup.class })
private String channelName;
/**
* 供应商发货单id
*/
// @NotNull(message = "供应商发货单id不能为空", groups = { AddGroup.class, EditGroup.class })
private Long sendOrderId;
private String sellerName;
}

View File

@ -228,5 +228,12 @@ public class BizShipmentPlanOrderVo implements Serializable {
private BizLogisticsQuote quote;
private BizSendOrder sendOrder;
/**
* 供应商发货单id
*/
private Long sendOrderId;
}

View File

@ -7,6 +7,7 @@ import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.github.linpeilie.annotations.AutoMappers;
import org.asinkj.amz.domain.BizSendOrder;
import org.asinkj.amz.domain.BizShipmentItem;
import org.asinkj.amz.domain.BizShipmentPlan;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
@ -54,7 +55,7 @@ public class BizShipmentPlanVo implements Serializable {
// @ExcelProperty(value = "关联系统ID")
private Long sid;
// @ExcelProperty(value = "店铺名称")
// @ExcelProperty(value = "店铺名称")
private String sellerName;
/**
@ -212,12 +213,18 @@ public class BizShipmentPlanVo implements Serializable {
// @ExcelProperty(value = "物流渠道")
private String channelName;
/**
* 供应商发货单id
*/
// @ExcelProperty(value = "供应商发货单id")
private Long sendOrderId;
private BizSendOrder sendOrder;
private List<BizShipmentItem> itemVoList;
// 显式添加 Setter即使使用 @Data
public void setShipFromAddress(FbaShipmentApiResponse.Address shipFromAddress) {
// System.out.printf(String.valueOf(shipToAddress));

View File

@ -39,6 +39,27 @@ public class RemoteFBADataServiceImpl implements RemoteFBADataService {
}
@Override
public void pullPurchaseOrderData(String startDate, String endDate) throws Exception {
sysAmazonStoreService.pullPurchaseOrderData(startDate, endDate,new LingxinCallback() {
@Override
public void onFinished(String result, int status) {
}
});
}
@Override
public void updatePurchaseOrderSeller(String startDate, String endDate) throws Exception {
sysAmazonStoreService.updatePurchaseOrderSeller(startDate, endDate,new LingxinCallback() {
@Override
public void onFinished(String result, int status) {
}
});
}
@Override
public void quoteReminder() throws Exception {
ibizInquiryRequestService.quoteReminder();

View File

@ -8,6 +8,7 @@ import org.asinkj.common.mybatis.core.page.PageQuery;
import java.util.Collection;
import java.util.List;
import java.util.Set;
/**
* 供应商创建的发货单Service接口
@ -66,4 +67,10 @@ public interface IBizSendOrderService {
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
List<BizSendOrder> queryBySidList(Set<Long> senOrderIds);
void linkByBo(BizSendOrderBo bo);
void updateStatus(Long sendOrderId, String completed);
}

View File

@ -66,4 +66,6 @@ public interface IBizShipForwardService {
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
void sendUpdateByBo(BizShipForwardBo bo);
}

View File

@ -84,4 +84,6 @@ public interface IBizShipmentPlanService {
void updateList(Collection<String> list, String status);
void importExcel(InputStream inputStream);
Boolean linkByBo(BizShipmentPlanBo bo);
}

View File

@ -158,6 +158,7 @@ public class BizPurchaseOrderServiceImpl implements IBizPurchaseOrderService {
lqw.eq(StringUtils.isNotBlank(bo.getOrderStatus()), BizPurchaseOrder::getOrderStatus, bo.getOrderStatus());
lqw.eq(bo.getDeliveryTime() != null, BizPurchaseOrder::getDeliveryTime, bo.getDeliveryTime());
lqw.eq(bo.getDlvTimeVar() != null, BizPurchaseOrder::getDlvTimeVar, bo.getDlvTimeVar());
lqw.orderBy(true, false, BizPurchaseOrder::getOrderTime);
if (StpUtil.hasRole("gongying")) {
lqw.eq(BizPurchaseOrder::getSupplierName, Objects.requireNonNull(LoginHelper.getLoginUser()).getNickname());

View File

@ -1,5 +1,8 @@
package org.asinkj.amz.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import org.asinkj.amz.domain.SysAmazonStore;
import org.asinkj.common.core.utils.MapstructUtils;
import org.asinkj.common.core.utils.StringUtils;
import org.asinkj.common.mybatis.core.page.TableDataInfo;
@ -18,6 +21,7 @@ import org.asinkj.amz.service.IBizSendOrderService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
import java.util.Set;
/**
* 供应商创建的发货单Service业务层处理
@ -38,7 +42,7 @@ public class BizSendOrderServiceImpl implements IBizSendOrderService {
* @return 供应商创建的发货单
*/
@Override
public BizSendOrderVo queryById(Long id){
public BizSendOrderVo queryById(Long id) {
return baseMapper.selectVoById(id);
}
@ -118,7 +122,7 @@ public class BizSendOrderServiceImpl implements IBizSendOrderService {
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(BizSendOrder entity){
private void validEntityBeforeSave(BizSendOrder entity) {
//TODO 做一些数据校验,如唯一约束
}
@ -131,9 +135,31 @@ public class BizSendOrderServiceImpl implements IBizSendOrderService {
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
if (isValid) {
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
@Override
public List<BizSendOrder> queryBySidList(Set<Long> senOrderIds) {
if (CollectionUtil.isNotEmpty(senOrderIds)) {
LambdaQueryWrapper<BizSendOrder> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.in(BizSendOrder::getId, senOrderIds);
return baseMapper.selectList(queryWrapper);
}
return List.of();
}
@Override
public void linkByBo(BizSendOrderBo bo) {
}
@Override
public void updateStatus(Long sendOrderId, String completed) {
LambdaUpdateWrapper<BizSendOrder> queryWrapper = new LambdaUpdateWrapper<>();
queryWrapper.eq(BizSendOrder::getId, sendOrderId).set(BizSendOrder::getSendStatus, completed);
baseMapper.update(queryWrapper);
}
}

View File

@ -1,5 +1,6 @@
package org.asinkj.amz.service.impl;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import org.apache.dubbo.config.annotation.DubboReference;
import org.asinkj.common.core.utils.MapstructUtils;
import org.asinkj.common.core.utils.StringUtils;
@ -166,4 +167,14 @@ public class BizShipForwardServiceImpl implements IBizShipForwardService {
}
return baseMapper.deleteByIds(ids) > 0;
}
@Override
public void sendUpdateByBo(BizShipForwardBo bo) {
LambdaUpdateWrapper<BizShipForward> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(BizShipForward::getId, bo.getId());
updateWrapper.set(BizShipForward::getFwdStatus, bo.getFwdStatus());
baseMapper.update(updateWrapper);
}
}

View File

@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import lombok.extern.slf4j.Slf4j;
@ -12,9 +13,7 @@ import org.asinkj.amz.domain.*;
import org.asinkj.amz.domain.bo.SysAmazonStoreBo;
import org.asinkj.amz.domain.vo.*;
import org.asinkj.amz.mapper.*;
import org.asinkj.amz.service.IBizLogisticsQuoteService;
import org.asinkj.amz.service.ISysAmazonStoreService;
import org.asinkj.amz.service.LingxinCallback;
import org.asinkj.amz.service.*;
import org.asinkj.common.core.exception.ServiceException;
import org.asinkj.common.core.utils.MapstructUtils;
import org.asinkj.common.core.utils.StringUtils;
@ -29,7 +28,7 @@ import org.asinkj.common.satoken.utils.LoginHelper;
import org.asinkj.resource.api.RemoteMessageService;
import org.springframework.stereotype.Service;
import org.asinkj.amz.domain.bo.BizShipmentPlanBo;
import org.asinkj.amz.service.IBizShipmentPlanService;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.io.InputStream;
@ -57,6 +56,12 @@ public class BizShipmentPlanServiceImpl implements IBizShipmentPlanService {
@Resource
private ISysAmazonStoreService iSysAmazonStoreService;
@Resource
private SysAmazonStoreMapper sysAmazonStoreMapper;
@Resource
private IBizSendOrderService iSendOrderService;
@Resource
private BizShipmentTrackingMapper bizShipmentTrackingMapper;
@ -93,9 +98,25 @@ public class BizShipmentPlanServiceImpl implements IBizShipmentPlanService {
*/
@Override
public TableDataInfo<BizShipmentPlanVo> queryPageList(BizShipmentPlanBo bo, PageQuery pageQuery) {
if (StrUtil.isNotBlank(bo.getSellerName())) {
LambdaQueryWrapper<SysAmazonStore> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.like(SysAmazonStore::getStoreName, bo.getSellerName());
SysAmazonStore sysAmazonStore = sysAmazonStoreMapper.selectOne(queryWrapper);
if (sysAmazonStore != null) {
bo.setSid(sysAmazonStore.getSid());
}
}
LambdaQueryWrapper<BizShipmentPlan> lqw = buildQueryWrapper(bo);
Page<BizShipmentPlanVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
Set<Long> senOrderIds = result.getRecords().stream().map(BizShipmentPlanVo::getSendOrderId).collect(Collectors.toSet());
Map<Long, BizSendOrder> sendOrderMap = new HashMap<>();
if (CollectionUtil.isNotEmpty(senOrderIds)) {
sendOrderMap = iSendOrderService.queryBySidList(senOrderIds).stream().collect(Collectors.toMap(BizSendOrder::getId, Function.identity()));
}
Set<String> shipmentIds = result.getRecords().stream().map(BizShipmentPlanVo::getShipmentId).collect(Collectors.toSet());
@ -120,6 +141,13 @@ public class BizShipmentPlanServiceImpl implements IBizShipmentPlanService {
Map<String, List<BizShipmentItem>> collect1 = bizShipmentItems.stream().collect(Collectors.groupingBy(BizShipmentItem::getShipmentId, Collectors.toList()));
for (BizShipmentPlanVo bizShipmentPlanVo : result.getRecords()) {
BizSendOrder bizSendOrder = sendOrderMap.get(bizShipmentPlanVo.getSendOrderId());
if (bizSendOrder != null) {
bizShipmentPlanVo.setSendOrder(sendOrderMap.get(bizShipmentPlanVo.getSendOrderId()));
}
Long count = collect.get(bizShipmentPlanVo.getShipmentId());
bizShipmentPlanVo.setBoxQuantity(count);
bizShipmentPlanVo.setItemVoList(collect1.get(bizShipmentPlanVo.getShipmentId()));
@ -196,6 +224,7 @@ public class BizShipmentPlanServiceImpl implements IBizShipmentPlanService {
lqw.eq(bo.getSetTotal() != null, BizShipmentPlan::getSetTotal, bo.getSetTotal());
lqw.eq(bo.getChannelId() != null, BizShipmentPlan::getChannelId, bo.getChannelId());
lqw.like(StringUtils.isNotBlank(bo.getChannelName()), BizShipmentPlan::getChannelName, bo.getChannelName());
lqw.orderBy(true, false, BizShipmentPlan::getGmtCreate);
SysAmazonStoreBo sysAmazonStoreBo = new SysAmazonStoreBo();
sysAmazonStoreBo.setUserId(LoginHelper.getUserId());
@ -316,6 +345,13 @@ public class BizShipmentPlanServiceImpl implements IBizShipmentPlanService {
storeNameMap = iSysAmazonStoreService.queryBySidList(sids).stream().collect(Collectors.toMap(SysAmazonStore::getSid, SysAmazonStore::getStoreName));
}
Set<Long> senOrderIds = result.getRecords().stream().map(BizShipmentPlanVo::getSendOrderId).collect(Collectors.toSet());
Map<Long, BizSendOrder> sendOrderMap = new HashMap<>();
if (CollectionUtil.isNotEmpty(senOrderIds)) {
sendOrderMap = iSendOrderService.queryBySidList(senOrderIds).stream().collect(Collectors.toMap(BizSendOrder::getId, Function.identity()));
}
if (CollectionUtil.isNotEmpty(shipmentIds)) {
LambdaQueryWrapper<BizShipmentTracking> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.in(BizShipmentTracking::getShipmentId, shipmentIds);
@ -356,6 +392,11 @@ public class BizShipmentPlanServiceImpl implements IBizShipmentPlanService {
List<BizLogisticsOrderDetail> bizLogisticsOrderDetails1 = detailMap.get(bizShipmentPlanVo.getShipmentId());
bizShipmentPlanVo.setItemVoList(collect1.get(bizShipmentPlanVo.getShipmentId()));
BizSendOrder bizSendOrder = sendOrderMap.get(bizShipmentPlanVo.getSendOrderId());
if (bizSendOrder != null) {
bizShipmentPlanVo.setSendOrder(sendOrderMap.get(bizShipmentPlanVo.getSendOrderId()));
}
bizShipmentPlanVo.setDetailList(bizLogisticsOrderDetails1);
if (CollectionUtil.isNotEmpty(bizLogisticsOrderDetails1)) {
BizLogisticsOrderDetail bizLogisticsOrderDetail = bizLogisticsOrderDetails1.get(0);
@ -408,6 +449,15 @@ public class BizShipmentPlanServiceImpl implements IBizShipmentPlanService {
baseMapper.updateByFbaShipmentId(bizShipmentPlanFileDataList);
}
@Transactional(rollbackFor = Exception.class)
@Override
public Boolean linkByBo(BizShipmentPlanBo bo) {
BizShipmentPlan update = MapstructUtils.convert(bo, BizShipmentPlan.class);
validEntityBeforeSave(update);
iSendOrderService.updateStatus(bo.getSendOrderId(), "completed");
return baseMapper.updateById(update) > 0;
}
private void checkData(List<BizShipmentPlanFileData> bizShipmentPlanFileDataList) {
boolean isAllSame = bizShipmentPlanFileDataList.stream()
.map(BizShipmentPlanFileData::getShipmentId)

View File

@ -564,10 +564,18 @@ public class SysAmazonStoreServiceImpl implements ISysAmazonStoreService {
for (PurchaseOrderResponse.OrderData orderData : list) {
BizPurchaseOrder order = MapstructUtils.convert(orderData, BizPurchaseOrder.class);
List<BizPurchaseOrderItem> convert1 = MapstructUtils.convert(orderData.getItemList(), BizPurchaseOrderItem.class);
convert1.forEach(item -> item.setOrderSn(orderData.getOrderSn()));
convert1.forEach(item -> {
item.setOrderSn(orderData.getOrderSn());
item.setCreateBy(1L);
});
BizPurchaseOrderItem bizPurchaseOrderItem = convert1.get(0);
storeList.add(bizPurchaseOrderItem.getSid());
bizPurchaseOrderItems.addAll(convert1);
order.setCreateBy(1L);
order.setCreateTime(new Date());
order.setUpdateBy(1L);
order.setUpdateTime(new Date());
orders.add(order);
SysAmazonStore sysAmazonStore = collect.get(bizPurchaseOrderItem.getSid());
if (ObjectUtil.isNotEmpty(sysAmazonStore)) {

View File

@ -0,0 +1,86 @@
package org.asinkj.job.snailjob;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import com.aizuda.snailjob.client.job.core.annotation.JobExecutor;
import com.aizuda.snailjob.client.job.core.dto.JobArgs;
import com.aizuda.snailjob.client.model.ExecuteResult;
import com.aizuda.snailjob.common.core.util.JsonUtil;
import com.aizuda.snailjob.common.log.SnailJobLog;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.DubboReference;
import org.asinkj.amz.api.RemoteFBADataService;
import org.springframework.stereotype.Component;
/**
* @author opensnail
* @date 2024-05-17
*/
@Component
@JobExecutor(name = "pullPurchaseOrder")
@Slf4j
public class PullPurchaseJobExecutor {
@DubboReference
private RemoteFBADataService remoteFBADataService;
public ExecuteResult jobExecute(JobArgs jobArgs) throws Exception {
SnailJobLog.LOCAL.info("amzPullFBAJobExecutor. jobArgs:{}", JsonUtil.toJsonString(jobArgs));
SnailJobLog.REMOTE.info("amzPullFBAJobExecutor. jobArgs:{}", JsonUtil.toJsonString(jobArgs));
log.info("amzPullFBAJobExecutor {}", jobArgs.getJobParams());
//昨天的日期yyyy-MM-dd
// 获取昨天的日期
if ("yesterday".equals(jobArgs.getJobParams())) {
DateTime yesterday = DateUtil.yesterday();
String yesterdayString = yesterday.toString("yyyy-MM-dd");
SnailJobLog.LOCAL.info("yesterdayString. yesterdayString:{}", yesterdayString);
//获取今天的日期
DateTime tomorrow = DateUtil.tomorrow();
String tomorrowString = tomorrow.toString("yyyy-MM-dd");
SnailJobLog.LOCAL.info("todayString. todayString:{}", tomorrowString);
remoteFBADataService.pullPurchaseOrderData(yesterdayString, tomorrowString);
return ExecuteResult.success("获取从昨天开始的FBA货件数据");
} else if ("today".equals(jobArgs.getJobParams())) {
DateTime today = DateUtil.date();
String todayString = today.toString("yyyy-MM-dd");
SnailJobLog.LOCAL.info("yesterdayString. yesterdayString:{}", todayString);
//获取今天的日期
DateTime tomorrow = DateUtil.tomorrow();
String tomorrowString = tomorrow.toString("yyyy-MM-dd");
SnailJobLog.LOCAL.info("todayString. todayString:{}", tomorrowString);
remoteFBADataService.pullPurchaseOrderData(todayString, tomorrowString);
}
return ExecuteResult.success("请指定参数yesterday或者today");
}
// public ExecuteResult jobExecute(JobArgs jobArgs) throws Exception {
// SnailJobLog.LOCAL.info("amzPullFBAJobExecutor. jobArgs:{}", JsonUtil.toJsonString(jobArgs));
// SnailJobLog.REMOTE.info("amzPullFBAJobExecutor. jobArgs:{}", JsonUtil.toJsonString(jobArgs));
// log.info("amzPullFBAJobExecutor {}", jobArgs.getJobParams());
// //昨天的日期yyyy-MM-dd
// // 获取昨天的日期
// if ("yesterday".equals(jobArgs.getJobParams())) {
// DateTime yesterday = DateUtil.yesterday();
// String yesterdayString = yesterday.toString("yyyy-MM-dd");
// SnailJobLog.LOCAL.info("yesterdayString. yesterdayString:{}", yesterdayString);
// //获取今天的日期
// DateTime tomorrow = DateUtil.tomorrow();
// String tomorrowString = tomorrow.toString("yyyy-MM-dd");
// SnailJobLog.LOCAL.info("todayString. todayString:{}", tomorrowString);
// remoteFBADataService.pullAmzFbaDataToken(yesterdayString, tomorrowString);
// return ExecuteResult.success("获取从昨天开始的FBA货件数据");
// } else if ("today".equals(jobArgs.getJobParams())) {
// DateTime today = DateUtil.date();
// String todayString = today.toString("yyyy-MM-dd");
// SnailJobLog.LOCAL.info("yesterdayString. yesterdayString:{}", todayString);
// //获取今天的日期
// DateTime tomorrow = DateUtil.tomorrow();
// String tomorrowString = tomorrow.toString("yyyy-MM-dd");
// SnailJobLog.LOCAL.info("todayString. todayString:{}", tomorrowString);
// remoteFBADataService.pullAmzFbaDataToken(todayString, tomorrowString);
// }
// return ExecuteResult.success("请指定参数yesterday或者today");
// }
}

View File

@ -0,0 +1,85 @@
package org.asinkj.job.snailjob;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import com.aizuda.snailjob.client.job.core.annotation.JobExecutor;
import com.aizuda.snailjob.client.job.core.dto.JobArgs;
import com.aizuda.snailjob.client.model.ExecuteResult;
import com.aizuda.snailjob.common.core.util.JsonUtil;
import com.aizuda.snailjob.common.log.SnailJobLog;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.DubboReference;
import org.asinkj.amz.api.RemoteFBADataService;
import org.springframework.stereotype.Component;
/**
* @author opensnail
* @date 2024-05-17
*/
@Component
@JobExecutor(name = "updatePurchaseOrder")
@Slf4j
public class UpdatePurchaseJobExecutor {
@DubboReference
private RemoteFBADataService remoteFBADataService;
public ExecuteResult jobExecute(JobArgs jobArgs) throws Exception {
SnailJobLog.LOCAL.info("amzPullFBAJobExecutor. jobArgs:{}", JsonUtil.toJsonString(jobArgs));
SnailJobLog.REMOTE.info("amzPullFBAJobExecutor. jobArgs:{}", JsonUtil.toJsonString(jobArgs));
log.info("amzPullFBAJobExecutor {}", jobArgs.getJobParams());
//昨天的日期yyyy-MM-dd
// 获取昨天的日期
if ("yesterday".equals(jobArgs.getJobParams())) {
DateTime yesterday = DateUtil.yesterday();
String yesterdayString = yesterday.toString("yyyy-MM-dd");
SnailJobLog.LOCAL.info("yesterdayString. yesterdayString:{}", yesterdayString);
//获取今天的日期
DateTime tomorrow = DateUtil.tomorrow();
String tomorrowString = tomorrow.toString("yyyy-MM-dd");
SnailJobLog.LOCAL.info("todayString. todayString:{}", tomorrowString);
remoteFBADataService.updatePurchaseOrderSeller(yesterdayString, tomorrowString);
return ExecuteResult.success("获取从昨天开始的FBA货件数据");
} else if ("today".equals(jobArgs.getJobParams())) {
DateTime today = DateUtil.date();
String todayString = today.toString("yyyy-MM-dd");
SnailJobLog.LOCAL.info("yesterdayString. yesterdayString:{}", todayString);
//获取今天的日期
DateTime tomorrow = DateUtil.tomorrow();
String tomorrowString = tomorrow.toString("yyyy-MM-dd");
SnailJobLog.LOCAL.info("todayString. todayString:{}", tomorrowString);
remoteFBADataService.updatePurchaseOrderSeller(todayString, tomorrowString);
}
return ExecuteResult.success("请指定参数yesterday或者today");
}
// public ExecuteResult jobExecute(JobArgs jobArgs) throws Exception {
// SnailJobLog.LOCAL.info("amzPullFBAJobExecutor. jobArgs:{}", JsonUtil.toJsonString(jobArgs));
// SnailJobLog.REMOTE.info("amzPullFBAJobExecutor. jobArgs:{}", JsonUtil.toJsonString(jobArgs));
// log.info("amzPullFBAJobExecutor {}", jobArgs.getJobParams());
// //昨天的日期yyyy-MM-dd
// // 获取昨天的日期
// if ("yesterday".equals(jobArgs.getJobParams())) {
// DateTime yesterday = DateUtil.yesterday();
// String yesterdayString = yesterday.toString("yyyy-MM-dd");
// SnailJobLog.LOCAL.info("yesterdayString. yesterdayString:{}", yesterdayString);
// //获取今天的日期
// DateTime tomorrow = DateUtil.tomorrow();
// String tomorrowString = tomorrow.toString("yyyy-MM-dd");
// SnailJobLog.LOCAL.info("todayString. todayString:{}", tomorrowString);
// remoteFBADataService.pullAmzFbaDataToken(yesterdayString, tomorrowString);
// return ExecuteResult.success("获取从昨天开始的FBA货件数据");
// } else if ("today".equals(jobArgs.getJobParams())) {
// DateTime today = DateUtil.date();
// String todayString = today.toString("yyyy-MM-dd");
// SnailJobLog.LOCAL.info("yesterdayString. yesterdayString:{}", todayString);
// //获取今天的日期
// DateTime tomorrow = DateUtil.tomorrow();
// String tomorrowString = tomorrow.toString("yyyy-MM-dd");
// SnailJobLog.LOCAL.info("todayString. todayString:{}", tomorrowString);
// remoteFBADataService.pullAmzFbaDataToken(todayString, tomorrowString);
// }
// return ExecuteResult.success("请指定参数yesterday或者today");
// }
}