Compare commits
62
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6b85cddede | ||
|
|
e486f850f2 | ||
|
|
76c2f3a5fd | ||
|
|
bb542e7510 | ||
|
|
eba4461381 | ||
|
|
f5ad238015 | ||
|
|
4bdb24e9ac | ||
|
|
425922fd04 | ||
|
|
d65424e5bf | ||
|
|
2a35793baf | ||
|
|
d22df698b6 | ||
|
|
1771bf9909 | ||
|
|
15d69f9361 | ||
|
|
2b4089ef59 | ||
|
|
20c3e1f422 | ||
|
|
3b19d9e930 | ||
|
|
5fd11e9caf | ||
|
|
0b98dcdfe9 | ||
|
|
b373cbbe46 | ||
|
|
acd97c7b9b | ||
|
|
118bdb1666 | ||
|
|
944de228f7 | ||
|
|
25c9cd4dfc | ||
|
|
882cd226ec | ||
|
|
feb4d7af66 | ||
|
|
d75ab1ed5f | ||
|
|
a501eb7443 | ||
|
|
19941d9480 | ||
|
|
cd3d522d4f | ||
|
|
181c5078e9 | ||
|
|
e97f46e6b4 | ||
|
|
c0f89deb83 | ||
|
|
ce695463d3 | ||
|
|
83c683d473 | ||
|
|
9555474b0b | ||
|
|
a150f9e017 | ||
|
|
ecd2fa1c33 | ||
|
|
e3236d262d | ||
|
|
c8e2e16ba5 | ||
|
|
99b44faf09 | ||
|
|
b3e3cbf84b | ||
|
|
0aee11d824 | ||
|
|
fcf358a768 | ||
|
|
619369104c | ||
|
|
4f1408b9d0 | ||
|
|
029eea70cc | ||
|
|
22b1e65385 | ||
|
|
2170c48763 | ||
|
|
c2d1c48aae | ||
|
|
e14958c643 | ||
|
|
da288338cd | ||
|
|
ea430f2468 | ||
|
|
f76f79744a | ||
|
|
19daaff907 | ||
|
|
db94d8f932 | ||
|
|
53618fe362 | ||
|
|
523edffc4e | ||
|
|
c7ddb1a8b0 | ||
|
|
45c9fc814a | ||
|
|
407dc13ac4 | ||
|
|
0c06bf16c2 | ||
|
|
1db39e77d3 |
@@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
<groupId>com.imyeyu.timiserverapi</groupId>
|
<groupId>com.imyeyu.timiserverapi</groupId>
|
||||||
<artifactId>TimiServerAPI</artifactId>
|
<artifactId>TimiServerAPI</artifactId>
|
||||||
<version>1.0.53</version>
|
<version>1.0.51</version>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
<name>TimiServerAPI</name>
|
<name>TimiServerAPI</name>
|
||||||
<description>imyeyu.com API</description>
|
<description>imyeyu.com API</description>
|
||||||
|
|||||||
-1
@@ -184,7 +184,6 @@ public class AttachmentServiceImplement extends AbstractEntityService<Attachment
|
|||||||
try (InputStream inputStream = getInputStreamByMongoId(source.getMongoId())) {
|
try (InputStream inputStream = getInputStreamByMongoId(source.getMongoId())) {
|
||||||
target.setInputStream(inputStream);
|
target.setInputStream(inputStream);
|
||||||
create(target);
|
create(target);
|
||||||
target.setInputStream(null);
|
|
||||||
return target;
|
return target;
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
if (target.getMongoId() != null) {
|
if (target.getMongoId() != null) {
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
package com.imyeyu.api.modules.gao.service;
|
package com.imyeyu.api.modules.gao.service;
|
||||||
|
|
||||||
import com.imyeyu.api.modules.common.entity.Attachment;
|
|
||||||
import com.imyeyu.api.modules.gao.entity.GaoProductStock;
|
import com.imyeyu.api.modules.gao.entity.GaoProductStock;
|
||||||
import com.imyeyu.api.modules.gao.entity.GaoProductStockRecord;
|
import com.imyeyu.api.modules.gao.entity.GaoProductStockRecord;
|
||||||
import com.imyeyu.api.modules.gao.vo.GaoProductStockChangeRequest;
|
import com.imyeyu.api.modules.gao.vo.GaoProductStockChangeRequest;
|
||||||
@@ -63,10 +62,6 @@ public interface GaoProductStockService {
|
|||||||
/// 履约出库
|
/// 履约出库
|
||||||
List<GaoProductStock> outForFulfillment(String storeId, String bizId, List<GaoStockChangeItem> items, String requestNo, String operatorUserId);
|
List<GaoProductStock> outForFulfillment(String storeId, String bizId, List<GaoStockChangeItem> items, String requestNo, String operatorUserId);
|
||||||
|
|
||||||
/// 履约出库并复制履约附件到出库流水
|
|
||||||
List<GaoProductStock> outForFulfillment(String storeId, String bizId, List<GaoStockChangeItem> items, String requestNo,
|
|
||||||
String operatorUserId, List<Attachment> attachmentList);
|
|
||||||
|
|
||||||
/// 履约库存冲正入库
|
/// 履约库存冲正入库
|
||||||
List<GaoProductStock> revokeForFulfillment(String storeId, String bizId, List<GaoStockChangeItem> items, String requestNo, String operatorUserId);
|
List<GaoProductStock> revokeForFulfillment(String storeId, String bizId, List<GaoStockChangeItem> items, String requestNo, String operatorUserId);
|
||||||
|
|
||||||
|
|||||||
+1
-3
@@ -261,10 +261,8 @@ public class GaoOrderFulfillmentServiceImplement extends AbstractEntityService<G
|
|||||||
applySkuSpecSnapshots(stockItems, fulfillmentItemList);
|
applySkuSpecSnapshots(stockItems, fulfillmentItemList);
|
||||||
String verifierUserId = userLoginService.getRequireLoginUserId();
|
String verifierUserId = userLoginService.getRequireLoginUserId();
|
||||||
if (!stockItems.isEmpty()) {
|
if (!stockItems.isEmpty()) {
|
||||||
List<Attachment> attachmentList = attachmentService.listByBizId(
|
|
||||||
Attachment.BizType.GAO_ORDER_FULFILLMENT, fulfillment.getId());
|
|
||||||
productStockService.outForFulfillment(order.getStoreId(), fulfillment.getId(), stockItems,
|
productStockService.outForFulfillment(order.getStoreId(), fulfillment.getId(), stockItems,
|
||||||
stockRequestNo(fulfillment, "OUT"), verifierUserId, attachmentList);
|
stockRequestNo(fulfillment, "OUT"), verifierUserId);
|
||||||
}
|
}
|
||||||
TimiException.requiredTrue(1 == mapper.updateStatus(fulfillment.getId(), GaoOrderFulfillment.Status.VERIFIED,
|
TimiException.requiredTrue(1 == mapper.updateStatus(fulfillment.getId(), GaoOrderFulfillment.Status.VERIFIED,
|
||||||
verifierUserId, Time.now(), request.getReason()), "履约状态已变化");
|
verifierUserId, Time.now(), request.getReason()), "履约状态已变化");
|
||||||
|
|||||||
+1
-30
@@ -232,14 +232,6 @@ public class GaoProductStockServiceImplement implements GaoProductStockService {
|
|||||||
return executeInternal(storeId, bizId, items, requestNo, operatorUserId, GaoProductStockRecord.OperationType.ORDER_OUT, null);
|
return executeInternal(storeId, bizId, items, requestNo, operatorUserId, GaoProductStockRecord.OperationType.ORDER_OUT, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
@Transactional(TimiServerDBConfig.ROLLBACKER)
|
|
||||||
public List<GaoProductStock> outForFulfillment(String storeId, String bizId, List<GaoStockChangeItem> items, String requestNo,
|
|
||||||
String operatorUserId, List<Attachment> attachmentList) {
|
|
||||||
return executeInternal(storeId, bizId, items, requestNo, operatorUserId,
|
|
||||||
GaoProductStockRecord.OperationType.ORDER_OUT, null, null, attachmentList);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(TimiServerDBConfig.ROLLBACKER)
|
@Transactional(TimiServerDBConfig.ROLLBACKER)
|
||||||
public List<GaoProductStock> revokeForFulfillment(String storeId, String bizId, List<GaoStockChangeItem> items, String requestNo, String operatorUserId) {
|
public List<GaoProductStock> revokeForFulfillment(String storeId, String bizId, List<GaoStockChangeItem> items, String requestNo, String operatorUserId) {
|
||||||
@@ -453,11 +445,7 @@ public class GaoProductStockServiceImplement implements GaoProductStockService {
|
|||||||
record.setOperatorUserId(operatorUserId);
|
record.setOperatorUserId(operatorUserId);
|
||||||
record.setOccurredAt(TimiJava.defaultIfNull(occurredAt, Time.now()));
|
record.setOccurredAt(TimiJava.defaultIfNull(occurredAt, Time.now()));
|
||||||
record.setRemark(remark);
|
record.setRemark(remark);
|
||||||
recordService.createOperationRecord(record,
|
recordService.createOperationRecord(record, attachmentList);
|
||||||
operationType == GaoProductStockRecord.OperationType.ORDER_OUT ? null : attachmentList);
|
|
||||||
if (operationType == GaoProductStockRecord.OperationType.ORDER_OUT) {
|
|
||||||
copyAttachments(record.getId(), attachmentList);
|
|
||||||
}
|
|
||||||
stock.setOnHandQuantity(onHandAfter);
|
stock.setOnHandQuantity(onHandAfter);
|
||||||
stock.setReservedQuantity(reservedAfter);
|
stock.setReservedQuantity(reservedAfter);
|
||||||
stock.setUpdatedBy(operatorUserId);
|
stock.setUpdatedBy(operatorUserId);
|
||||||
@@ -467,23 +455,6 @@ public class GaoProductStockServiceImplement implements GaoProductStockService {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// 复制履约附件到出库流水
|
|
||||||
///
|
|
||||||
/// @param recordId 出库流水 ID
|
|
||||||
/// @param sourceAttachmentList 履约附件
|
|
||||||
private void copyAttachments(String recordId, List<Attachment> sourceAttachmentList) {
|
|
||||||
for (Attachment source : TimiJava.safeIterable(sourceAttachmentList)) {
|
|
||||||
if (source == null) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
TimiException.required(source.getId(), "履约附件 ID 不能为空");
|
|
||||||
Attachment copy = attachmentService.clone(source.getId());
|
|
||||||
copy.setBizType(Attachment.BizType.GAO_STOCK_RECORD);
|
|
||||||
copy.setBizId(recordId);
|
|
||||||
attachmentService.update(copy);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private GaoProductStock lockOrCreateStock(String storeId, String skuId) {
|
private GaoProductStock lockOrCreateStock(String storeId, String skuId) {
|
||||||
GaoProductStock stock = stockMapper.selectForUpdate(storeId, skuId);
|
GaoProductStock stock = stockMapper.selectForUpdate(storeId, skuId);
|
||||||
if (stock != null) {
|
if (stock != null) {
|
||||||
|
|||||||
@@ -5,8 +5,6 @@ import com.imyeyu.java.bean.BasePage;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/// GAO 销售订单分页请求
|
/// GAO 销售订单分页请求
|
||||||
///
|
///
|
||||||
/// @author Codex
|
/// @author Codex
|
||||||
@@ -27,27 +25,15 @@ public class GaoSalesOrderPage extends BasePage {
|
|||||||
/// 订单类型
|
/// 订单类型
|
||||||
private GaoSalesOrder.OrderType orderType;
|
private GaoSalesOrder.OrderType orderType;
|
||||||
|
|
||||||
/// 订单类型列表
|
|
||||||
private List<GaoSalesOrder.OrderType> orderTypeList;
|
|
||||||
|
|
||||||
/// 订单状态
|
/// 订单状态
|
||||||
private GaoSalesOrder.Status status;
|
private GaoSalesOrder.Status status;
|
||||||
|
|
||||||
/// 订单状态列表
|
|
||||||
private List<GaoSalesOrder.Status> statusList;
|
|
||||||
|
|
||||||
/// 付款状态
|
/// 付款状态
|
||||||
private GaoSalesOrder.PaymentStatus paymentStatus;
|
private GaoSalesOrder.PaymentStatus paymentStatus;
|
||||||
|
|
||||||
/// 付款状态列表
|
|
||||||
private List<GaoSalesOrder.PaymentStatus> paymentStatusList;
|
|
||||||
|
|
||||||
/// 退款状态
|
/// 退款状态
|
||||||
private GaoSalesOrder.RefundStatus refundStatus;
|
private GaoSalesOrder.RefundStatus refundStatus;
|
||||||
|
|
||||||
/// 退款状态列表
|
|
||||||
private List<GaoSalesOrder.RefundStatus> refundStatusList;
|
|
||||||
|
|
||||||
/// true 为筛选可收款且未付清订单
|
/// true 为筛选可收款且未付清订单
|
||||||
private Boolean pendingReceive;
|
private Boolean pendingReceive;
|
||||||
|
|
||||||
|
|||||||
@@ -31,42 +31,10 @@
|
|||||||
AND cp.`deleted_at` IS NULL
|
AND cp.`deleted_at` IS NULL
|
||||||
)
|
)
|
||||||
</if>
|
</if>
|
||||||
<choose>
|
<if test="orderType != null">AND o.`order_type` = #{orderType}</if>
|
||||||
<when test="orderTypeList != null and 0 < orderTypeList.size()">
|
<if test="status != null">AND o.`status` = #{status}</if>
|
||||||
AND o.`order_type` IN
|
<if test="paymentStatus != null">AND o.`payment_status` = #{paymentStatus}</if>
|
||||||
<foreach collection="orderTypeList" item="orderTypeItem" open="(" separator="," close=")">
|
<if test="refundStatus != null">AND o.`refund_status` = #{refundStatus}</if>
|
||||||
#{orderTypeItem}
|
|
||||||
</foreach>
|
|
||||||
</when>
|
|
||||||
<when test="orderType != null">AND o.`order_type` = #{orderType}</when>
|
|
||||||
</choose>
|
|
||||||
<choose>
|
|
||||||
<when test="statusList != null and 0 < statusList.size()">
|
|
||||||
AND o.`status` IN
|
|
||||||
<foreach collection="statusList" item="statusItem" open="(" separator="," close=")">
|
|
||||||
#{statusItem}
|
|
||||||
</foreach>
|
|
||||||
</when>
|
|
||||||
<when test="status != null">AND o.`status` = #{status}</when>
|
|
||||||
</choose>
|
|
||||||
<choose>
|
|
||||||
<when test="paymentStatusList != null and 0 < paymentStatusList.size()">
|
|
||||||
AND o.`payment_status` IN
|
|
||||||
<foreach collection="paymentStatusList" item="paymentStatusItem" open="(" separator="," close=")">
|
|
||||||
#{paymentStatusItem}
|
|
||||||
</foreach>
|
|
||||||
</when>
|
|
||||||
<when test="paymentStatus != null">AND o.`payment_status` = #{paymentStatus}</when>
|
|
||||||
</choose>
|
|
||||||
<choose>
|
|
||||||
<when test="refundStatusList != null and 0 < refundStatusList.size()">
|
|
||||||
AND o.`refund_status` IN
|
|
||||||
<foreach collection="refundStatusList" item="refundStatusItem" open="(" separator="," close=")">
|
|
||||||
#{refundStatusItem}
|
|
||||||
</foreach>
|
|
||||||
</when>
|
|
||||||
<when test="refundStatus != null">AND o.`refund_status` = #{refundStatus}</when>
|
|
||||||
</choose>
|
|
||||||
<if test="pendingReceive != null and pendingReceive">AND o.`status` IN ('ACTIVE', 'FULFILLED') AND o.`payment_status` IN ('UNPAID', 'PARTIALLY_PAID')</if>
|
<if test="pendingReceive != null and pendingReceive">AND o.`status` IN ('ACTIVE', 'FULFILLED') AND o.`payment_status` IN ('UNPAID', 'PARTIALLY_PAID')</if>
|
||||||
<if test="fulfilledButUnpaid != null and fulfilledButUnpaid">AND o.`status` = 'FULFILLED' AND o.`paid_amount` < o.`sale_amount`</if>
|
<if test="fulfilledButUnpaid != null and fulfilledButUnpaid">AND o.`status` = 'FULFILLED' AND o.`paid_amount` < o.`sale_amount`</if>
|
||||||
<if test="keyword != null and keyword.trim() != ''">AND (o.`order_no` LIKE CONCAT('%', #{keyword}, '%') OR c.`name` LIKE CONCAT('%', #{keyword}, '%') OR c.`code` LIKE CONCAT('%', #{keyword}, '%'))</if>
|
<if test="keyword != null and keyword.trim() != ''">AND (o.`order_no` LIKE CONCAT('%', #{keyword}, '%') OR c.`name` LIKE CONCAT('%', #{keyword}, '%') OR c.`code` LIKE CONCAT('%', #{keyword}, '%'))</if>
|
||||||
|
|||||||
Reference in New Issue
Block a user