7月新需求修改
This commit is contained in:
parent
ba66f30750
commit
a33c41a7e3
@ -43,13 +43,11 @@ public class BizPurchaseOrderController extends BaseController {
|
||||
private final IBizPurchaseOrderService bizPurchaseOrderService;
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 查询采购单主列表
|
||||
*/
|
||||
// @SaCheckPermission("amz:purchaseOrder:list")
|
||||
@SaCheckRole(value = {"gongying","gengdan", "superadmin","yunying"}, mode = SaMode.OR)
|
||||
@SaCheckRole(value = {"gongying", "gengdan", "superadmin", "yunying"}, mode = SaMode.OR)
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<BizPurchaseOrderVo> list(BizPurchaseOrderBo bo, PageQuery pageQuery) {
|
||||
return bizPurchaseOrderService.queryPageList(bo, pageQuery);
|
||||
@ -120,4 +118,30 @@ public class BizPurchaseOrderController extends BaseController {
|
||||
@PathVariable String[] orderSns) {
|
||||
return toAjax(bizPurchaseOrderService.deleteWithValidByIds(List.of(orderSns), true));
|
||||
}
|
||||
|
||||
|
||||
@SaCheckPermission("amz:shipmentPlan:query")
|
||||
@GetMapping("/take-today-purchase-order")
|
||||
public R<Void> takeTodayPurchaseOrder() throws Exception {
|
||||
bizPurchaseOrderService.takeTodayPurchaseOrder();
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
|
||||
@SaCheckPermission("amz:shipmentPlan:query")
|
||||
@GetMapping("/update-today-purchase-order")
|
||||
public R<Void> updateTodayPurchaseOrder() throws Exception {
|
||||
bizPurchaseOrderService.updateTodayPurchaseOrder();
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/send-message-to-supplier/{message}/{supplier}")
|
||||
public R<Void> sendMessageToSupplier(@PathVariable String message, @PathVariable String supplier) throws Exception {
|
||||
bizPurchaseOrderService.sendMessageToSupplier(message, supplier);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package org.asinkj.amz.controller;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import jakarta.validation.Valid;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.constraints.*;
|
||||
@ -109,7 +110,7 @@ public class BizSendShipmentRelController extends BaseController {
|
||||
|
||||
@PostMapping("/createBatchRelations")
|
||||
public R<Void> createBatchRelations(
|
||||
@RequestBody BatchRelDTO dto) {
|
||||
@Valid @RequestBody BatchRelDTO dto) {
|
||||
bizSendShipmentRelService.batchCreateRelations(dto);
|
||||
return R.ok();
|
||||
}
|
||||
|
@ -134,6 +134,15 @@ public class BizShipmentPlanController extends BaseController {
|
||||
return toAjax(bizShipmentPlanService.deleteWithValidByIds(List.of(ids), true));
|
||||
}
|
||||
|
||||
|
||||
@SaCheckPermission("amz:shipmentPlan:remove")
|
||||
@Log(title = "删除货件计划发货单关系", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("delete/{shipmentPlanId}/{sendOrderId}")
|
||||
public R<Integer> deleteRelation(
|
||||
@NotNull(message = "计划ID不能为空") @PathVariable Long shipmentPlanId, @NotNull(message = "发货单ID不能为空") @PathVariable Long sendOrderId) {
|
||||
return R.ok(bizShipmentPlanService.deleteBySendOrderShipmentPlan(shipmentPlanId, sendOrderId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取货件计划详细信息
|
||||
*
|
||||
|
@ -35,6 +35,8 @@ public class BizShipForward extends TenantEntity {
|
||||
*/
|
||||
private String orderSn;
|
||||
|
||||
private String inOrderSn;
|
||||
|
||||
/**
|
||||
* 采购店铺名称
|
||||
*/
|
||||
@ -132,5 +134,7 @@ public class BizShipForward extends TenantEntity {
|
||||
*/
|
||||
private Long boxNum;
|
||||
|
||||
private Long totalPrice;
|
||||
|
||||
|
||||
}
|
||||
|
@ -26,6 +26,7 @@ public class SysUser extends TenantEntity {
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
@TableId(value = "user_id")
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
|
@ -1,12 +1,15 @@
|
||||
package org.asinkj.amz.domain.bo;
|
||||
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class BatchRelDTO {
|
||||
// @NotNull(message = "关联关系不能为空")
|
||||
// private Long sendOrderId23;
|
||||
@NotEmpty(message = "发货单ID列表不能为空")
|
||||
private List<Long> sendOrderIds;
|
||||
|
||||
|
@ -37,6 +37,9 @@ public class BizShipForwardBo extends BaseEntity {
|
||||
@NotBlank(message = "采购单号不能为空", groups = {AddGroup.class, EditGroup.class})
|
||||
private String orderSn;
|
||||
|
||||
@NotBlank(message = "采购单号不能为空", groups = {AddGroup.class, EditGroup.class})
|
||||
private String inOrderSn;
|
||||
|
||||
/**
|
||||
* 采购店铺名称
|
||||
*/
|
||||
@ -150,4 +153,7 @@ public class BizShipForwardBo extends BaseEntity {
|
||||
private Long boxNum;
|
||||
|
||||
|
||||
private Long totalPrice;
|
||||
|
||||
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
package org.asinkj.amz.domain.vo;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.asinkj.amz.domain.BizShipForward;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
@ -15,7 +16,6 @@ import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 货件转发视图对象 biz_ship_forward
|
||||
*
|
||||
@ -43,6 +43,9 @@ public class BizShipForwardVo implements Serializable {
|
||||
@ExcelProperty(value = "采购单号")
|
||||
private String orderSn;
|
||||
|
||||
|
||||
private String inOrderSn;
|
||||
|
||||
/**
|
||||
* 采购店铺名称
|
||||
*/
|
||||
@ -135,7 +138,6 @@ public class BizShipForwardVo implements Serializable {
|
||||
private Long orderDetailId;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 预计到达时间
|
||||
*/
|
||||
@ -147,4 +149,7 @@ public class BizShipForwardVo implements Serializable {
|
||||
private Long boxNum;
|
||||
|
||||
|
||||
private Long totalPrice;
|
||||
|
||||
|
||||
}
|
||||
|
@ -29,4 +29,6 @@ public interface BizShipmentPlanMapper extends BaseMapperPlus<BizShipmentPlan, B
|
||||
List<OrderShipmentRelation> findOrderShipmentRelations(@Param("sendOrderIds") Collection<Long> sendOrderIds);
|
||||
|
||||
List<BizShipmentPlan> findByIds(@Param("ids") Collection<Long> ids);
|
||||
|
||||
int deleteBySendOrderShipmentPlan(@Param("shipmentPlanId") Long shipmentPlanId,@Param("sendOrderId") Long sendOrderId);
|
||||
}
|
||||
|
@ -68,4 +68,10 @@ public interface IBizPurchaseOrderService {
|
||||
Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
|
||||
|
||||
Boolean confirmByBo(BizPurchaseOrderBo bo);
|
||||
|
||||
void takeTodayPurchaseOrder() throws Exception;
|
||||
|
||||
void updateTodayPurchaseOrder() throws Exception;
|
||||
|
||||
void sendMessageToSupplier(String message, String supplier);
|
||||
}
|
||||
|
@ -89,4 +89,6 @@ public interface IBizShipmentPlanService {
|
||||
void importExcel(InputStream inputStream);
|
||||
|
||||
Boolean linkByBo(BizShipmentPlanBo bo);
|
||||
|
||||
int deleteBySendOrderShipmentPlan(Long shipmentPlanId, Long sendOrderId);
|
||||
}
|
||||
|
@ -2,9 +2,13 @@ package org.asinkj.amz.service.impl;
|
||||
|
||||
import cn.dev33.satoken.stp.StpUtil;
|
||||
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.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.asinkj.amz.api.RemoteFBADataService;
|
||||
import org.asinkj.amz.domain.*;
|
||||
import org.asinkj.amz.mapper.*;
|
||||
import org.asinkj.amz.service.IBizPurchaseOrderItemService;
|
||||
@ -17,6 +21,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.asinkj.common.satoken.utils.LoginHelper;
|
||||
import org.asinkj.common.wp.handler.WxMessagesManager;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.asinkj.amz.domain.bo.BizPurchaseOrderBo;
|
||||
import org.asinkj.amz.domain.vo.BizPurchaseOrderVo;
|
||||
@ -35,6 +40,7 @@ import java.util.stream.Collectors;
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
@Slf4j
|
||||
public class BizPurchaseOrderServiceImpl implements IBizPurchaseOrderService {
|
||||
|
||||
private final BizPurchaseOrderMapper baseMapper;
|
||||
@ -57,6 +63,9 @@ public class BizPurchaseOrderServiceImpl implements IBizPurchaseOrderService {
|
||||
@Resource
|
||||
private BizPurchaseOrderItemMapper bizPurchaseOrderItemMapper;
|
||||
|
||||
@Resource
|
||||
private RemoteFBADataService remoteFBADataService;
|
||||
|
||||
|
||||
/**
|
||||
* 查询采购单主
|
||||
@ -311,4 +320,33 @@ public class BizPurchaseOrderServiceImpl implements IBizPurchaseOrderService {
|
||||
purchaseOrderItemMapper.update(lambdaUpdateWrapper);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void takeTodayPurchaseOrder() throws Exception {
|
||||
DateTime today = DateUtil.date();
|
||||
String todayString = today.toString("yyyy-MM-dd");
|
||||
log.info("yesterdayString. yesterdayString:{}", todayString);
|
||||
//获取今天的日期
|
||||
DateTime tomorrow = DateUtil.tomorrow();
|
||||
String tomorrowString = tomorrow.toString("yyyy-MM-dd");
|
||||
log.info("todayString. todayString:{}", tomorrowString);
|
||||
remoteFBADataService.pullPurchaseOrderData(todayString, tomorrowString);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateTodayPurchaseOrder() throws Exception {
|
||||
DateTime today = DateUtil.date();
|
||||
String todayString = today.toString("yyyy-MM-dd");
|
||||
log.info("yesterdayString. yesterdayString:{}", todayString);
|
||||
//获取今天的日期
|
||||
DateTime tomorrow = DateUtil.tomorrow();
|
||||
String tomorrowString = tomorrow.toString("yyyy-MM-dd");
|
||||
log.info("todayString. todayString:{}", tomorrowString);
|
||||
remoteFBADataService.updatePurchaseOrderSeller(todayString, tomorrowString);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendMessageToSupplier(String message, String supplier) {
|
||||
WxMessagesManager.sendWechatTempMessage(message, supplier);
|
||||
}
|
||||
}
|
||||
|
@ -1,9 +1,15 @@
|
||||
package org.asinkj.amz.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.asinkj.amz.domain.BizPurchaseOrder;
|
||||
import org.asinkj.amz.domain.BizShipmentPlan;
|
||||
import org.asinkj.amz.mapper.BizPurchaseOrderMapper;
|
||||
import org.asinkj.amz.mapper.BizShipmentPlanMapper;
|
||||
import org.asinkj.common.core.exception.ServiceException;
|
||||
import org.asinkj.common.core.utils.MapstructUtils;
|
||||
import org.asinkj.common.core.utils.StringUtils;
|
||||
import org.asinkj.common.mybatis.core.page.TableDataInfo;
|
||||
@ -22,6 +28,7 @@ import org.asinkj.amz.domain.BizShipForward;
|
||||
import org.asinkj.amz.mapper.BizShipForwardMapper;
|
||||
import org.asinkj.amz.service.IBizShipForwardService;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
@ -42,6 +49,9 @@ public class BizShipForwardServiceImpl implements IBizShipForwardService {
|
||||
@DubboReference
|
||||
private RemoteUserService remoteUserService;
|
||||
|
||||
@Resource
|
||||
private BizPurchaseOrderMapper bizPurchaseOrderMapper;
|
||||
|
||||
/**
|
||||
* 查询货件转发
|
||||
*
|
||||
@ -153,6 +163,15 @@ public class BizShipForwardServiceImpl implements IBizShipForwardService {
|
||||
*/
|
||||
private void validEntityBeforeSave(BizShipForward entity) {
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
if (StringUtils.isNotEmpty(entity.getInOrderSn())&&StringUtils.isNotEmpty(entity.getInSupplierName())){
|
||||
LambdaQueryWrapper<BizPurchaseOrder> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(BizPurchaseOrder::getOrderSn,entity.getInOrderSn())
|
||||
.eq(BizPurchaseOrder::getSupplierName,entity.getInSupplierName());
|
||||
List<BizPurchaseOrder> purchaseOrders = bizPurchaseOrderMapper.selectList(lambdaQueryWrapper);
|
||||
if (CollectionUtil.isEmpty(purchaseOrders)){
|
||||
throw new ServiceException("采购单不存在或不属于该收货供应商");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -490,6 +490,11 @@ public class BizShipmentPlanServiceImpl implements IBizShipmentPlanService {
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int deleteBySendOrderShipmentPlan(Long shipmentPlanId, Long sendOrderId) {
|
||||
return baseMapper.deleteBySendOrderShipmentPlan(shipmentPlanId, sendOrderId);
|
||||
}
|
||||
|
||||
private void checkData(List<BizShipmentPlanFileData> bizShipmentPlanFileDataList) {
|
||||
boolean isAllSame = bizShipmentPlanFileDataList.stream()
|
||||
.map(BizShipmentPlanFileData::getShipmentId)
|
||||
|
@ -744,7 +744,9 @@ public class SysAmazonStoreServiceImpl implements ISysAmazonStoreService {
|
||||
queryParam.put("length", 200);
|
||||
queryParam.put("dateBegin", startDate);
|
||||
queryParam.put("dateEnd", endDate);
|
||||
queryParam.put("dateType", 1);
|
||||
// queryParam.put("sids", JSON.toJSON(List.of(112)));
|
||||
queryParam.put("shipmentIdList", JSON.toJSON(List.of("FBA18Y3QBXGJ")));
|
||||
queryParam.put("dateType", 2);
|
||||
|
||||
HttpUtil.postWithParams("/amzStaServer/openapi/inbound-plan/page", queryParam, new Callback() {
|
||||
@Override
|
||||
@ -858,10 +860,12 @@ public class SysAmazonStoreServiceImpl implements ISysAmazonStoreService {
|
||||
log.info("bizShipmentPlans:{}", bizShipmentPlans);
|
||||
ArrayList<String> shipmentIdList = new ArrayList<>();
|
||||
if (CollectionUtil.isNotEmpty(bizShipmentPlans)) {
|
||||
Set<BizShipmentPlan> readyToShip = bizShipmentPlans.stream().filter(bizShipmentPlan -> bizShipmentPlan.getShipmentStatus().equals("READY_TO_SHIP")).collect(Collectors.toSet());
|
||||
Set<BizShipmentPlan> readyToShip = new HashSet<>(bizShipmentPlans);
|
||||
if (CollectionUtil.isNotEmpty(readyToShip)) {
|
||||
bizShipmentPlanMapper.insertBatch(readyToShip);
|
||||
shipmentIdList.addAll(readyToShip.stream().map(BizShipmentPlan::getShipmentId).toList());
|
||||
}
|
||||
}
|
||||
if (CollectionUtil.isNotEmpty(bizTrackingList)) {
|
||||
List<BizShipmentTracking> collect = bizTrackingList.stream().filter(bizShipmentTracking -> shipmentIdList.contains(bizShipmentTracking.getShipmentId())).collect(Collectors.toList());
|
||||
|
||||
@ -911,7 +915,7 @@ public class SysAmazonStoreServiceImpl implements ISysAmazonStoreService {
|
||||
|
||||
AmzShippingResponse amzShippingResponse = JSON.parseObject(shipmentString, new TypeReference<>() {
|
||||
});
|
||||
if (amzShippingResponse.getData() == null){
|
||||
if (amzShippingResponse.getData() == null) {
|
||||
return bizShipmentPlans;
|
||||
}
|
||||
|
||||
|
@ -145,4 +145,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
#{id}
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
|
||||
<delete id="deleteBySendOrderShipmentPlan">
|
||||
DELETE FROM biz_send_shipment_rel
|
||||
WHERE send_order_id = #{sendOrderId} and shipment_plan_id = #{shipmentPlanId}
|
||||
</delete>
|
||||
</mapper>
|
||||
|
Loading…
x
Reference in New Issue
Block a user