|
@@ -5,6 +5,7 @@ import cn.hutool.core.collection.CollectionUtil;
|
|
|
import cn.hutool.core.date.DateTime;
|
|
import cn.hutool.core.date.DateTime;
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
|
|
+import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
|
|
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.google.common.collect.Lists;
|
|
import com.google.common.collect.Lists;
|
|
@@ -148,7 +149,6 @@ public class OrderLogic {
|
|
|
UserCompanyDeliveryService userCompanyDeliveryService;
|
|
UserCompanyDeliveryService userCompanyDeliveryService;
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
|
|
|
/**
|
|
/**
|
|
|
* 订单列表
|
|
* 订单列表
|
|
|
*
|
|
*
|
|
@@ -157,55 +157,52 @@ public class OrderLogic {
|
|
|
public IPage<OrderDetailBean> list(HttpServletRequest request, String userId, String orderId, String productName,
|
|
public IPage<OrderDetailBean> list(HttpServletRequest request, String userId, String orderId, String productName,
|
|
|
String userName, String phone, List<String> orderStatus, String startCreateTime,
|
|
String userName, String phone, List<String> orderStatus, String startCreateTime,
|
|
|
String endCreateTime, String startPayTime, String endPayTime, Integer pageNum,
|
|
String endCreateTime, String startPayTime, String endPayTime, Integer pageNum,
|
|
|
- Integer pageSize,
|
|
|
|
|
- String isNegative, String abnormalDispatch, String workerOrderNo, String goodsId
|
|
|
|
|
|
|
+ Integer pageSize, String isNegative, String workerOrderNo
|
|
|
) {
|
|
) {
|
|
|
AdminUserCom adminUser = commonLogic.getAdminUser(request);
|
|
AdminUserCom adminUser = commonLogic.getAdminUser(request);
|
|
|
|
|
|
|
|
- //派工异常订单
|
|
|
|
|
-// if(StringUtils.isNotBlank(abnormalDispatch) && abnormalDispatch.trim().equals("true")){
|
|
|
|
|
-// return abnormalDispatchOrder( adminUser, userId, orderId, productName, userName, phone,
|
|
|
|
|
-// exchangeCode, orderStatus, startCreateTime, endCreateTime, startPayTime,
|
|
|
|
|
-// endPayTime, websitId, pageNum, pageSize,
|
|
|
|
|
-// isNegative, abnormalDispatch);
|
|
|
|
|
-// }
|
|
|
|
|
-
|
|
|
|
|
List<String> orderIds = new ArrayList<>();
|
|
List<String> orderIds = new ArrayList<>();
|
|
|
- if(StringUtils.isNotBlank(workerOrderNo)) {
|
|
|
|
|
|
|
+ if (StringUtils.isNotBlank(workerOrderNo)) {
|
|
|
List<OrderRequest> orderRequests = orderRequestService.lambdaQuery().eq(OrderRequest::getWorkerOrderNo, workerOrderNo).list();
|
|
List<OrderRequest> orderRequests = orderRequestService.lambdaQuery().eq(OrderRequest::getWorkerOrderNo, workerOrderNo).list();
|
|
|
orderIds = orderRequests.stream().map(OrderRequest::getOrderId).collect(Collectors.toList());
|
|
orderIds = orderRequests.stream().map(OrderRequest::getOrderId).collect(Collectors.toList());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- IPage page = orderInfoService.lambdaQuery()
|
|
|
|
|
- .in(CollectionUtils.isNotEmpty(adminUser.getCompanyWechatIds()),OrderInfo::getCompanyWechatId,adminUser.getCompanyWechatIds())
|
|
|
|
|
|
|
+ LambdaQueryChainWrapper<OrderInfo> queryChainWrapper = orderInfoService.lambdaQuery()
|
|
|
|
|
+ .in(CollectionUtils.isNotEmpty(adminUser.getCompanyWechatIds()), OrderInfo::getCompanyWechatId, adminUser.getCompanyWechatIds())
|
|
|
.in(CollectionUtils.isNotEmpty(adminUser.getStorageIds()), OrderInfo::getPickStorageId, adminUser.getStorageIds())
|
|
.in(CollectionUtils.isNotEmpty(adminUser.getStorageIds()), OrderInfo::getPickStorageId, adminUser.getStorageIds())
|
|
|
.eq(StringUtils.isNotBlank(userId), OrderInfo::getUserId, userId)
|
|
.eq(StringUtils.isNotBlank(userId), OrderInfo::getUserId, userId)
|
|
|
.like(StringUtils.isNotBlank(orderId), OrderInfo::getOrderId, orderId)
|
|
.like(StringUtils.isNotBlank(orderId), OrderInfo::getOrderId, orderId)
|
|
|
.like(StringUtils.isNotBlank(productName), OrderInfo::getOrderTitle, productName)
|
|
.like(StringUtils.isNotBlank(productName), OrderInfo::getOrderTitle, productName)
|
|
|
- .in(CollectionUtils.isNotEmpty(orderIds),OrderInfo::getOrderId, orderIds)
|
|
|
|
|
- .and(StringUtils.isNotBlank(userName), v -> v.like(OrderInfo::getUserName,userName).or().like(OrderInfo::getReceUserName,userName))
|
|
|
|
|
- .and(StringUtils.isNotBlank(phone), v -> v.like(OrderInfo::getPhone, phone).or().like(OrderInfo::getRecePhone,phone))
|
|
|
|
|
|
|
+ .in(CollectionUtils.isNotEmpty(orderIds), OrderInfo::getOrderId, orderIds)
|
|
|
|
|
+ .and(StringUtils.isNotBlank(userName), v -> v.like(OrderInfo::getUserName, userName).or().like(OrderInfo::getReceUserName, userName))
|
|
|
|
|
+ .and(StringUtils.isNotBlank(phone), v -> v.like(OrderInfo::getPhone, phone).or().like(OrderInfo::getRecePhone, phone))
|
|
|
.in(CollectionUtils.isNotEmpty(orderStatus), OrderInfo::getOrderStatus, orderStatus)
|
|
.in(CollectionUtils.isNotEmpty(orderStatus), OrderInfo::getOrderStatus, orderStatus)
|
|
|
.between(StringUtils.isNotBlank(startCreateTime) && StringUtils.isNotBlank(endCreateTime), OrderInfo::getCreateTime, startCreateTime, endCreateTime + " 23:59:59")
|
|
.between(StringUtils.isNotBlank(startCreateTime) && StringUtils.isNotBlank(endCreateTime), OrderInfo::getCreateTime, startCreateTime, endCreateTime + " 23:59:59")
|
|
|
.between(StringUtils.isNotBlank(startPayTime) && StringUtils.isNotBlank(endPayTime), OrderInfo::getPayTime, startPayTime, endPayTime + " 23:59:59")
|
|
.between(StringUtils.isNotBlank(startPayTime) && StringUtils.isNotBlank(endPayTime), OrderInfo::getPayTime, startPayTime, endPayTime + " 23:59:59")
|
|
|
- .and(StringUtils.isNotBlank(isNegative)&&isNegative.trim().equals("2"),
|
|
|
|
|
- v -> v.gt(OrderInfo::getCommentExpress,2).gt(OrderInfo::getCommentService,2).gt(OrderInfo::getCommentGoods,2))
|
|
|
|
|
- .and(StringUtils.isNotBlank(isNegative)&&isNegative.trim().equals("1"),v -> v
|
|
|
|
|
- .gt(OrderInfo::getCommentExpress,0)
|
|
|
|
|
- .gt(OrderInfo::getCommentService,0)
|
|
|
|
|
- .gt(OrderInfo::getCommentGoods,0)
|
|
|
|
|
|
|
+ .and(StringUtils.isNotBlank(isNegative) && isNegative.trim().equals("2"),
|
|
|
|
|
+ v -> v.gt(OrderInfo::getCommentExpress, 2).gt(OrderInfo::getCommentService, 2).gt(OrderInfo::getCommentGoods, 2))
|
|
|
|
|
+ .and(StringUtils.isNotBlank(isNegative) && isNegative.trim().equals("1"), v -> v
|
|
|
|
|
+ .gt(OrderInfo::getCommentExpress, 0)
|
|
|
|
|
+ .gt(OrderInfo::getCommentService, 0)
|
|
|
|
|
+ .gt(OrderInfo::getCommentGoods, 0)
|
|
|
.and(vv -> vv
|
|
.and(vv -> vv
|
|
|
- .lt(OrderInfo::getCommentExpress,3)
|
|
|
|
|
- .or().lt(OrderInfo::getCommentService,3)
|
|
|
|
|
- .or().lt(OrderInfo::getCommentGoods,3)
|
|
|
|
|
|
|
+ .lt(OrderInfo::getCommentExpress, 3)
|
|
|
|
|
+ .or().lt(OrderInfo::getCommentService, 3)
|
|
|
|
|
+ .or().lt(OrderInfo::getCommentGoods, 3)
|
|
|
)
|
|
)
|
|
|
)
|
|
)
|
|
|
- .and(StringUtils.isNotBlank(isNegative)&&isNegative.trim().equals("0"),
|
|
|
|
|
- v -> v.eq(OrderInfo::getCommentExpress,0).eq(OrderInfo::getCommentService,0).eq(OrderInfo::getCommentGoods,0))
|
|
|
|
|
- .and(StringUtils.isNotBlank(isNegative)&&isNegative.trim().equals("3"),
|
|
|
|
|
- v -> v.gt(OrderInfo::getCommentExpress,0).gt(OrderInfo::getCommentService,0).gt(OrderInfo::getCommentGoods,0))
|
|
|
|
|
- .orderByDesc(OrderInfo::getCreateTime)
|
|
|
|
|
- .page(new Page<>(pageNum, pageSize));
|
|
|
|
|
|
|
+ .and(StringUtils.isNotBlank(isNegative) && isNegative.trim().equals("0"),
|
|
|
|
|
+ v -> v.eq(OrderInfo::getCommentExpress, 0).eq(OrderInfo::getCommentService, 0).eq(OrderInfo::getCommentGoods, 0))
|
|
|
|
|
+ .and(StringUtils.isNotBlank(isNegative) && isNegative.trim().equals("3"),
|
|
|
|
|
+ v -> v.gt(OrderInfo::getCommentExpress, 0).gt(OrderInfo::getCommentService, 0).gt(OrderInfo::getCommentGoods, 0));
|
|
|
|
|
+
|
|
|
|
|
+ if (!OrderStatusEnum.addQuerySortContains(orderStatus)) {
|
|
|
|
|
+ queryChainWrapper.orderByDesc(OrderInfo::getCreateTime);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ queryChainWrapper.orderByAsc(OrderInfo::getAppointmentPickStartTime, OrderInfo::getAppointmentPickEndTime);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ IPage page = queryChainWrapper.page(new Page<>(pageNum, pageSize));
|
|
|
|
|
|
|
|
List<OrderDetailBean> list = new ArrayList<>();
|
|
List<OrderDetailBean> list = new ArrayList<>();
|
|
|
for (Object o : page.getRecords()) {
|
|
for (Object o : page.getRecords()) {
|
|
@@ -216,7 +213,7 @@ public class OrderLogic {
|
|
|
List<OrderDetail> orderDetails = orderDetailService.lambdaQuery().eq(OrderDetail::getOrderId, orderInfo.getOrderId()).list();
|
|
List<OrderDetail> orderDetails = orderDetailService.lambdaQuery().eq(OrderDetail::getOrderId, orderInfo.getOrderId()).list();
|
|
|
OrderRefund orderRefund = orderRefundService.lambdaQuery()
|
|
OrderRefund orderRefund = orderRefundService.lambdaQuery()
|
|
|
.eq(OrderRefund::getOrderId, orderInfo.getOrderId())
|
|
.eq(OrderRefund::getOrderId, orderInfo.getOrderId())
|
|
|
- .ne(OrderRefund::getRemark,"").last("limit 1").one();
|
|
|
|
|
|
|
+ .ne(OrderRefund::getRemark, "").last("limit 1").one();
|
|
|
|
|
|
|
|
long count = orderDetails.stream().filter(v -> StringUtils.isNotBlank(v.getWorkerOrderNo())).count();
|
|
long count = orderDetails.stream().filter(v -> StringUtils.isNotBlank(v.getWorkerOrderNo())).count();
|
|
|
|
|
|
|
@@ -236,18 +233,18 @@ public class OrderLogic {
|
|
|
|
|
|
|
|
//派工异常订单
|
|
//派工异常订单
|
|
|
public IPage<OrderDetailBean> abnormalDispatchOrder(AdminUserCom adminUserCom, String userId, String orderId, String productName, String userName, String phone,
|
|
public IPage<OrderDetailBean> abnormalDispatchOrder(AdminUserCom adminUserCom, String userId, String orderId, String productName, String userName, String phone,
|
|
|
- String exchangeCode, String orderStatus, String startCreateTime, String endCreateTime, String startPayTime,
|
|
|
|
|
- String endPayTime, String websitId,
|
|
|
|
|
- Integer pageNum, Integer pageSize,
|
|
|
|
|
- String isNegative,String abnormalDispatch){
|
|
|
|
|
|
|
+ String exchangeCode, String orderStatus, String startCreateTime, String endCreateTime, String startPayTime,
|
|
|
|
|
+ String endPayTime, String websitId,
|
|
|
|
|
+ Integer pageNum, Integer pageSize,
|
|
|
|
|
+ String isNegative, String abnormalDispatch) {
|
|
|
|
|
|
|
|
IPage<OrderInfo> orderInfoIPage = orderMapper.abnormalDispatchOrder(new Page<>(pageNum, pageSize), userId, orderId, productName, userName, phone,
|
|
IPage<OrderInfo> orderInfoIPage = orderMapper.abnormalDispatchOrder(new Page<>(pageNum, pageSize), userId, orderId, productName, userName, phone,
|
|
|
exchangeCode, orderStatus, startCreateTime, endCreateTime, startPayTime,
|
|
exchangeCode, orderStatus, startCreateTime, endCreateTime, startPayTime,
|
|
|
endPayTime, websitId,
|
|
endPayTime, websitId,
|
|
|
- isNegative, abnormalDispatch,adminUserCom.getCompanyWechatIds(),adminUserCom.getAdminWebsitIds());
|
|
|
|
|
|
|
+ isNegative, abnormalDispatch, adminUserCom.getCompanyWechatIds(), adminUserCom.getAdminWebsitIds());
|
|
|
|
|
|
|
|
- IPage<OrderDetailBean> orderDetailBeanIPage=new Page<>();
|
|
|
|
|
- BeanUtils.copyProperties(orderInfoIPage,orderDetailBeanIPage);
|
|
|
|
|
|
|
+ IPage<OrderDetailBean> orderDetailBeanIPage = new Page<>();
|
|
|
|
|
+ BeanUtils.copyProperties(orderInfoIPage, orderDetailBeanIPage);
|
|
|
|
|
|
|
|
List<OrderDetailBean> list = new ArrayList<>();
|
|
List<OrderDetailBean> list = new ArrayList<>();
|
|
|
for (OrderInfo orderInfo : orderInfoIPage.getRecords()) {
|
|
for (OrderInfo orderInfo : orderInfoIPage.getRecords()) {
|
|
@@ -269,7 +266,7 @@ public class OrderLogic {
|
|
|
return orderDetailBeanIPage;
|
|
return orderDetailBeanIPage;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- public List<OrderDetailBean> list(HttpServletRequest request,String userId, String orderId, String productName, String userName, String phone, String orderStatus,
|
|
|
|
|
|
|
+ public List<OrderDetailBean> list(HttpServletRequest request, String userId, String orderId, String productName, String userName, String phone, String orderStatus,
|
|
|
String startCreateTime, String endCreateTime, String startPayTime, String endPayTime, String websitId) {
|
|
String startCreateTime, String endCreateTime, String startPayTime, String endPayTime, String websitId) {
|
|
|
|
|
|
|
|
List<OrderInfo> orderList = orderInfoService.lambdaQuery()
|
|
List<OrderInfo> orderList = orderInfoService.lambdaQuery()
|
|
@@ -309,11 +306,11 @@ public class OrderLogic {
|
|
|
/**
|
|
/**
|
|
|
* 修改物流单号
|
|
* 修改物流单号
|
|
|
*/
|
|
*/
|
|
|
- public void updateExpress(String orderId,String logisticsNo,String companyCode) throws RemoteServiceException {
|
|
|
|
|
|
|
+ public void updateExpress(String orderId, String logisticsNo, String companyCode) throws RemoteServiceException {
|
|
|
//查询物流公司
|
|
//查询物流公司
|
|
|
String company = expressLogic.expressCompanyName(companyCode);
|
|
String company = expressLogic.expressCompanyName(companyCode);
|
|
|
OrderInfo orderInfo = orderInfoService.getById(orderId);
|
|
OrderInfo orderInfo = orderInfoService.getById(orderId);
|
|
|
- if(!orderInfo.getOrderStatus().equals(OrderStatusEnum.OVER.toString())){
|
|
|
|
|
|
|
+ if (!orderInfo.getOrderStatus().equals(OrderStatusEnum.OVER.toString())) {
|
|
|
throw new RemoteServiceException("非已发货订单不可修改物流单号");
|
|
throw new RemoteServiceException("非已发货订单不可修改物流单号");
|
|
|
}
|
|
}
|
|
|
orderInfo.setCompanyCode(companyCode);
|
|
orderInfo.setCompanyCode(companyCode);
|
|
@@ -326,9 +323,9 @@ public class OrderLogic {
|
|
|
/**
|
|
/**
|
|
|
* 查看物流
|
|
* 查看物流
|
|
|
*/
|
|
*/
|
|
|
- public List<ExpressInfo> queryExpressInfo(String logisticsNo){
|
|
|
|
|
|
|
+ public List<ExpressInfo> queryExpressInfo(String logisticsNo) {
|
|
|
List<ExpressInfo> list = expressInfoService.lambdaQuery().eq(ExpressInfo::getLogisticsNo, logisticsNo).list();
|
|
List<ExpressInfo> list = expressInfoService.lambdaQuery().eq(ExpressInfo::getLogisticsNo, logisticsNo).list();
|
|
|
- if (CollectionUtils.isNotEmpty(list)){
|
|
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(list)) {
|
|
|
return list;
|
|
return list;
|
|
|
}
|
|
}
|
|
|
return null;
|
|
return null;
|
|
@@ -343,7 +340,7 @@ public class OrderLogic {
|
|
|
AdminUserCom adminUser = commonLogic.getAdminUser();
|
|
AdminUserCom adminUser = commonLogic.getAdminUser();
|
|
|
OrderInfo orderInfo = orderInfoService.getById(orderId);
|
|
OrderInfo orderInfo = orderInfoService.getById(orderId);
|
|
|
|
|
|
|
|
- if(OrderStatusEnum.cancelOrderContains(orderInfo.getOrderStatus())) {
|
|
|
|
|
|
|
+ if (OrderStatusEnum.cancelOrderContains(orderInfo.getOrderStatus())) {
|
|
|
throw new RemoteServiceException("订单当前状态不可取消");
|
|
throw new RemoteServiceException("订单当前状态不可取消");
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -382,7 +379,7 @@ public class OrderLogic {
|
|
|
AdminUserCom adminUser = commonLogic.getAdminUser();
|
|
AdminUserCom adminUser = commonLogic.getAdminUser();
|
|
|
OrderInfo orderInfo = orderInfoService.getById(orderId);
|
|
OrderInfo orderInfo = orderInfoService.getById(orderId);
|
|
|
|
|
|
|
|
- if(!orderInfo.getOrderStatus().equals(OrderStatusEnum.DTK.toString())) {
|
|
|
|
|
|
|
+ if (!orderInfo.getOrderStatus().equals(OrderStatusEnum.DTK.toString())) {
|
|
|
throw new RemoteServiceException("订单当前状态非“待退款”");
|
|
throw new RemoteServiceException("订单当前状态非“待退款”");
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -499,15 +496,15 @@ public class OrderLogic {
|
|
|
.set(OrderInfo::getOrderStatus, OrderStatusEnum.CLOSE.toString())
|
|
.set(OrderInfo::getOrderStatus, OrderStatusEnum.CLOSE.toString())
|
|
|
.set(OrderInfo::getRefundFlag, RefundFlagEnum.ALL.toString())
|
|
.set(OrderInfo::getRefundFlag, RefundFlagEnum.ALL.toString())
|
|
|
.update();
|
|
.update();
|
|
|
- if(StringUtils.isNotBlank(userCouponId)){
|
|
|
|
|
|
|
+ if (StringUtils.isNotBlank(userCouponId)) {
|
|
|
UserCoupon userCoupon = userCouponService.getById(orderInfo.getUserCouponId());
|
|
UserCoupon userCoupon = userCouponService.getById(orderInfo.getUserCouponId());
|
|
|
if (userCoupon.getSelfUse() != null && userCoupon.getSelfUse()) {
|
|
if (userCoupon.getSelfUse() != null && userCoupon.getSelfUse()) {
|
|
|
//todo sql处理,数量加一,删除指定记录
|
|
//todo sql处理,数量加一,删除指定记录
|
|
|
userCouponService.removeById(userCouponId);
|
|
userCouponService.removeById(userCouponId);
|
|
|
- }else{
|
|
|
|
|
|
|
+ } else {
|
|
|
userCouponService.lambdaUpdate()
|
|
userCouponService.lambdaUpdate()
|
|
|
- .eq(UserCoupon::getId,userCouponId)
|
|
|
|
|
- .set(UserCoupon::getStatus,false)
|
|
|
|
|
|
|
+ .eq(UserCoupon::getId, userCouponId)
|
|
|
|
|
+ .set(UserCoupon::getStatus, false)
|
|
|
.update();
|
|
.update();
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -542,7 +539,7 @@ public class OrderLogic {
|
|
|
if (refundAmount.compareTo(new BigDecimal("0.00")) < 1) {
|
|
if (refundAmount.compareTo(new BigDecimal("0.00")) < 1) {
|
|
|
throw new RemoteServiceException("金额错误");
|
|
throw new RemoteServiceException("金额错误");
|
|
|
}
|
|
}
|
|
|
- if(StringUtils.isBlank(remark)){
|
|
|
|
|
|
|
+ if (StringUtils.isBlank(remark)) {
|
|
|
throw new RemoteServiceException("请填写理赔原因");
|
|
throw new RemoteServiceException("请填写理赔原因");
|
|
|
}
|
|
}
|
|
|
AdminUser adminUser = adminUserService.getById(adminUserId);
|
|
AdminUser adminUser = adminUserService.getById(adminUserId);
|
|
@@ -553,7 +550,7 @@ public class OrderLogic {
|
|
|
Integer count = orderOfflineRefundService.lambdaQuery()
|
|
Integer count = orderOfflineRefundService.lambdaQuery()
|
|
|
.eq(OrderOfflineRefund::getOrderId, orderId)
|
|
.eq(OrderOfflineRefund::getOrderId, orderId)
|
|
|
.eq(OrderOfflineRefund::getExamineStatus, ExamineStatusEnum.WAIT.getKey()).count();
|
|
.eq(OrderOfflineRefund::getExamineStatus, ExamineStatusEnum.WAIT.getKey()).count();
|
|
|
- if(count > 0){
|
|
|
|
|
|
|
+ if (count > 0) {
|
|
|
throw new RemoteServiceException("存在待处理的线下退货单,请优先处理");
|
|
throw new RemoteServiceException("存在待处理的线下退货单,请优先处理");
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -605,15 +602,15 @@ public class OrderLogic {
|
|
|
.set(OrderInfo::getUserCouponId, "")
|
|
.set(OrderInfo::getUserCouponId, "")
|
|
|
.set(OrderInfo::getRefundFlag, RefundFlagEnum.ALL.toString())
|
|
.set(OrderInfo::getRefundFlag, RefundFlagEnum.ALL.toString())
|
|
|
.update();
|
|
.update();
|
|
|
- if(org.apache.commons.lang3.StringUtils.isNotBlank(userCouponId)){
|
|
|
|
|
|
|
+ if (org.apache.commons.lang3.StringUtils.isNotBlank(userCouponId)) {
|
|
|
UserCoupon userCoupon = userCouponService.getById(orderInfo.getUserCouponId());
|
|
UserCoupon userCoupon = userCouponService.getById(orderInfo.getUserCouponId());
|
|
|
if (userCoupon.getSelfUse() != null && userCoupon.getSelfUse()) {
|
|
if (userCoupon.getSelfUse() != null && userCoupon.getSelfUse()) {
|
|
|
//todo sql处理,数量加一,删除指定记录
|
|
//todo sql处理,数量加一,删除指定记录
|
|
|
userCouponService.removeById(userCouponId);
|
|
userCouponService.removeById(userCouponId);
|
|
|
- }else{
|
|
|
|
|
|
|
+ } else {
|
|
|
userCouponService.lambdaUpdate()
|
|
userCouponService.lambdaUpdate()
|
|
|
- .eq(UserCoupon::getId,userCouponId)
|
|
|
|
|
- .set(UserCoupon::getStatus,false)
|
|
|
|
|
|
|
+ .eq(UserCoupon::getId, userCouponId)
|
|
|
|
|
+ .set(UserCoupon::getStatus, false)
|
|
|
.update();
|
|
.update();
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -625,7 +622,7 @@ public class OrderLogic {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
- log.info("【退款开始:】退款金额{},order_id={}", refundAmount,orderInfo.getOrderId());
|
|
|
|
|
|
|
+ log.info("【退款开始:】退款金额{},order_id={}", refundAmount, orderInfo.getOrderId());
|
|
|
|
|
|
|
|
return refundAmount;
|
|
return refundAmount;
|
|
|
}
|
|
}
|
|
@@ -681,7 +678,7 @@ public class OrderLogic {
|
|
|
*/
|
|
*/
|
|
|
@Transactional
|
|
@Transactional
|
|
|
public void deliverGoods(String orderId, String logisticsNo, String companyCode, String storageId, Boolean workOrder, Boolean exchange) throws Exception {
|
|
public void deliverGoods(String orderId, String logisticsNo, String companyCode, String storageId, Boolean workOrder, Boolean exchange) throws Exception {
|
|
|
- this.deliverGoods(orderId,logisticsNo,companyCode,storageId,workOrder,exchange,"","","");
|
|
|
|
|
|
|
+ this.deliverGoods(orderId, logisticsNo, companyCode, storageId, workOrder, exchange, "", "", "");
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -689,7 +686,7 @@ public class OrderLogic {
|
|
|
*/
|
|
*/
|
|
|
@Transactional
|
|
@Transactional
|
|
|
public void deliverGoods(String orderId, String logisticsNo, String companyCode, String storageId, Boolean workOrder,
|
|
public void deliverGoods(String orderId, String logisticsNo, String companyCode, String storageId, Boolean workOrder,
|
|
|
- Boolean exchange,String pickName,String pickPhone ,String pickType) throws Exception {
|
|
|
|
|
|
|
+ Boolean exchange, String pickName, String pickPhone, String pickType) throws Exception {
|
|
|
//仓库
|
|
//仓库
|
|
|
Storage detail = storageLogic.detail(storageId);
|
|
Storage detail = storageLogic.detail(storageId);
|
|
|
//快递公司
|
|
//快递公司
|
|
@@ -700,7 +697,7 @@ public class OrderLogic {
|
|
|
deliverGoodsBean.setExpressCorp(companyName);
|
|
deliverGoodsBean.setExpressCorp(companyName);
|
|
|
deliverGoodsBean.setLogisticsNo(logisticsNo);
|
|
deliverGoodsBean.setLogisticsNo(logisticsNo);
|
|
|
}
|
|
}
|
|
|
- if(detail != null) {
|
|
|
|
|
|
|
+ if (detail != null) {
|
|
|
deliverGoodsBean.setWarehouse(detail.getStorageName());
|
|
deliverGoodsBean.setWarehouse(detail.getStorageName());
|
|
|
}
|
|
}
|
|
|
deliverGoodsBean.setSend(workOrder);
|
|
deliverGoodsBean.setSend(workOrder);
|
|
@@ -715,9 +712,6 @@ public class OrderLogic {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
@Transactional
|
|
@Transactional
|
|
|
public void deliverBatchGoods(List<String> row) throws Exception {
|
|
public void deliverBatchGoods(List<String> row) throws Exception {
|
|
|
DeliverGoodsBean deliverGoodsBean = new DeliverGoodsBean();
|
|
DeliverGoodsBean deliverGoodsBean = new DeliverGoodsBean();
|
|
@@ -743,12 +737,12 @@ public class OrderLogic {
|
|
|
.one();
|
|
.one();
|
|
|
|
|
|
|
|
if (orderInfo == null) {
|
|
if (orderInfo == null) {
|
|
|
- throw new RemoteServiceException("订单号不正确或已发货:"+orderId);
|
|
|
|
|
|
|
+ throw new RemoteServiceException("订单号不正确或已发货:" + orderId);
|
|
|
}
|
|
}
|
|
|
if (StringUtils.isNotBlank(deliverGoodsBean.getWarehouse())) {
|
|
if (StringUtils.isNotBlank(deliverGoodsBean.getWarehouse())) {
|
|
|
Storage detail = storageLogic.detailByName(orderInfo.getCompanyWechatId(), deliverGoodsBean.getWarehouse().trim());
|
|
Storage detail = storageLogic.detailByName(orderInfo.getCompanyWechatId(), deliverGoodsBean.getWarehouse().trim());
|
|
|
if (detail == null) {
|
|
if (detail == null) {
|
|
|
- throw new RemoteServiceException("仓库不正确,订单号:"+orderId);
|
|
|
|
|
|
|
+ throw new RemoteServiceException("仓库不正确,订单号:" + orderId);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
if (!StringUtil.isEmpty(deliverGoodsBean.getLogisticsNo())) {
|
|
if (!StringUtil.isEmpty(deliverGoodsBean.getLogisticsNo())) {
|
|
@@ -786,7 +780,7 @@ public class OrderLogic {
|
|
|
|
|
|
|
|
orderInfo.setOrderStatus(OrderStatusEnum.OVER.toString());
|
|
orderInfo.setOrderStatus(OrderStatusEnum.OVER.toString());
|
|
|
orderInfo.setOverTime(DateUtil.date());
|
|
orderInfo.setOverTime(DateUtil.date());
|
|
|
- if(detail != null) {
|
|
|
|
|
|
|
+ if (detail != null) {
|
|
|
orderInfo.setStorageName(detail.getStorageName());
|
|
orderInfo.setStorageName(detail.getStorageName());
|
|
|
orderInfo.setStorageAddress(detail.getStorageAddress());
|
|
orderInfo.setStorageAddress(detail.getStorageAddress());
|
|
|
orderInfo.setStoragePhone(detail.getStorageMobile());
|
|
orderInfo.setStoragePhone(detail.getStorageMobile());
|
|
@@ -801,9 +795,6 @@ public class OrderLogic {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
private String getStringValue(Cell cell) {
|
|
private String getStringValue(Cell cell) {
|
|
|
if (cell == null) {
|
|
if (cell == null) {
|
|
|
return null;
|
|
return null;
|
|
@@ -863,9 +854,9 @@ public class OrderLogic {
|
|
|
Integer integer = list.stream().filter(item -> item.getGoodsMaterialId().equals(orderDetail.getGoodsMaterialId()))
|
|
Integer integer = list.stream().filter(item -> item.getGoodsMaterialId().equals(orderDetail.getGoodsMaterialId()))
|
|
|
.map(GoodsMaterialStorage::getStockQty).reduce(Integer::sum).orElse(0);
|
|
.map(GoodsMaterialStorage::getStockQty).reduce(Integer::sum).orElse(0);
|
|
|
orderDetailSon.setAllStockQty(integer);
|
|
orderDetailSon.setAllStockQty(integer);
|
|
|
- if (!StringUtil.isEmpty(storageId)){
|
|
|
|
|
|
|
+ if (!StringUtil.isEmpty(storageId)) {
|
|
|
Integer integerQty = list.stream().filter(item -> item.getGoodsMaterialId().equals(orderDetail.getGoodsMaterialId())
|
|
Integer integerQty = list.stream().filter(item -> item.getGoodsMaterialId().equals(orderDetail.getGoodsMaterialId())
|
|
|
- && item.getStorageId().equals(storageId)
|
|
|
|
|
|
|
+ && item.getStorageId().equals(storageId)
|
|
|
)
|
|
)
|
|
|
.map(GoodsMaterialStorage::getStockQty).reduce(Integer::sum).orElse(0);
|
|
.map(GoodsMaterialStorage::getStockQty).reduce(Integer::sum).orElse(0);
|
|
|
orderDetailSon.setStockOnQty(integerQty);
|
|
orderDetailSon.setStockOnQty(integerQty);
|
|
@@ -903,15 +894,15 @@ public class OrderLogic {
|
|
|
/**
|
|
/**
|
|
|
* 是否显示评价
|
|
* 是否显示评价
|
|
|
*/
|
|
*/
|
|
|
- public void updateShowComment(String orderId,Boolean isShow){
|
|
|
|
|
- commentTagLogic.updateShow(orderId,isShow);
|
|
|
|
|
|
|
+ public void updateShowComment(String orderId, Boolean isShow) {
|
|
|
|
|
+ commentTagLogic.updateShow(orderId, isShow);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
@Transactional
|
|
@Transactional
|
|
|
public void ack(String orderBaseId) throws Exception {
|
|
public void ack(String orderBaseId) throws Exception {
|
|
|
OrderInfo orderInfo = orderInfoService.getById(orderBaseId);
|
|
OrderInfo orderInfo = orderInfoService.getById(orderBaseId);
|
|
|
- if(!StringUtils.equals(orderInfo.getOrderStatus(),OrderStatusEnum.DQR.toString())){
|
|
|
|
|
|
|
+ if (!StringUtils.equals(orderInfo.getOrderStatus(), OrderStatusEnum.DQR.toString())) {
|
|
|
throw new RemoteServiceException("非待确认订单不可操作");
|
|
throw new RemoteServiceException("非待确认订单不可操作");
|
|
|
}
|
|
}
|
|
|
final DateTime curDate = DateUtil.date();
|
|
final DateTime curDate = DateUtil.date();
|
|
@@ -937,10 +928,10 @@ public class OrderLogic {
|
|
|
*/
|
|
*/
|
|
|
public void export(HttpServletRequest request, HttpServletResponse response, String userId, String orderId, String productName, String userName, String phone, String orderStatus,
|
|
public void export(HttpServletRequest request, HttpServletResponse response, String userId, String orderId, String productName, String userName, String phone, String orderStatus,
|
|
|
String startCreateTime, String endCreateTime, String startPayTime, String endPayTime, String websitId) throws Exception {
|
|
String startCreateTime, String endCreateTime, String startPayTime, String endPayTime, String websitId) throws Exception {
|
|
|
- List<OrderDetailBean> list = list(request,userId, orderId, productName, userName, phone, orderStatus, startCreateTime, endCreateTime, startPayTime, endPayTime, websitId);
|
|
|
|
|
|
|
+ List<OrderDetailBean> list = list(request, userId, orderId, productName, userName, phone, orderStatus, startCreateTime, endCreateTime, startPayTime, endPayTime, websitId);
|
|
|
// OrderDetailBean
|
|
// OrderDetailBean
|
|
|
String[] titles = {"订单号", "商品名称", "规格型号", "数量", "单位", "销售单价", "优惠后单价", "实际收款", "收货人姓名",
|
|
String[] titles = {"订单号", "商品名称", "规格型号", "数量", "单位", "销售单价", "优惠后单价", "实际收款", "收货人姓名",
|
|
|
- "手机号", "收货地址","订单状态", "售后状态", "退款金额(小项)", "退款数量(小项)", "备注", "下单时间", "买家昵称", "购买渠道", "买家备注", "卖家备注", "网点", "业务员/网点","分佣金额","团长名称","团长手机号"};
|
|
|
|
|
|
|
+ "手机号", "收货地址", "订单状态", "售后状态", "退款金额(小项)", "退款数量(小项)", "备注", "下单时间", "买家昵称", "购买渠道", "买家备注", "卖家备注", "网点", "业务员/网点", "分佣金额", "团长名称", "团长手机号"};
|
|
|
ExcelData excelData = new ExcelData();
|
|
ExcelData excelData = new ExcelData();
|
|
|
List<List<Object>> rows = new ArrayList<>();
|
|
List<List<Object>> rows = new ArrayList<>();
|
|
|
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
@@ -949,7 +940,7 @@ public class OrderLogic {
|
|
|
User user = null;
|
|
User user = null;
|
|
|
//查询团长
|
|
//查询团长
|
|
|
String promotionGroupUserId = null;
|
|
String promotionGroupUserId = null;
|
|
|
- if(StringUtils.isNotBlank(promotionGroupUserId)){
|
|
|
|
|
|
|
+ if (StringUtils.isNotBlank(promotionGroupUserId)) {
|
|
|
user = userService.getById(promotionGroupUserId);
|
|
user = userService.getById(promotionGroupUserId);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -967,7 +958,7 @@ public class OrderLogic {
|
|
|
row.add(orderDetailBean.getReceUserName());
|
|
row.add(orderDetailBean.getReceUserName());
|
|
|
row.add(orderDetailBean.getRecePhone());
|
|
row.add(orderDetailBean.getRecePhone());
|
|
|
row.add(trimStr(orderDetailBean.getProvince(), orderDetailBean.getCity(),
|
|
row.add(trimStr(orderDetailBean.getProvince(), orderDetailBean.getCity(),
|
|
|
- orderDetailBean.getArea(), orderDetailBean.getStreet(), orderDetailBean.getReceAddress(),orderDetailBean.getHouseNo()));
|
|
|
|
|
|
|
+ orderDetailBean.getArea(), orderDetailBean.getStreet(), orderDetailBean.getReceAddress(), orderDetailBean.getHouseNo()));
|
|
|
String orderStatusName = Enum.valueOf(OrderStatusEnum.class, orderDetailBean.getOrderStatus().trim().toUpperCase()).getName();
|
|
String orderStatusName = Enum.valueOf(OrderStatusEnum.class, orderDetailBean.getOrderStatus().trim().toUpperCase()).getName();
|
|
|
if (orderDetailBean.getOrderStatus().equals(OrderStatusEnum.REFUND.toString())) {
|
|
if (orderDetailBean.getOrderStatus().equals(OrderStatusEnum.REFUND.toString())) {
|
|
|
if (org.apache.commons.lang3.StringUtils.isNotBlank(orderDetailBean.getLogisticsNo())) {
|
|
if (org.apache.commons.lang3.StringUtils.isNotBlank(orderDetailBean.getLogisticsNo())) {
|
|
@@ -976,7 +967,7 @@ public class OrderLogic {
|
|
|
orderStatusName = OrderStatusEnum.DFH.getName();
|
|
orderStatusName = OrderStatusEnum.DFH.getName();
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- if(orderDetailBean.getRefundFlag().equals(RefundFlagEnum.ALL.toString())){
|
|
|
|
|
|
|
+ if (orderDetailBean.getRefundFlag().equals(RefundFlagEnum.ALL.toString())) {
|
|
|
orderStatusName = OrderStatusEnum.CLOSE.getName();
|
|
orderStatusName = OrderStatusEnum.CLOSE.getName();
|
|
|
}
|
|
}
|
|
|
row.add(orderStatusName);
|
|
row.add(orderStatusName);
|
|
@@ -987,7 +978,7 @@ public class OrderLogic {
|
|
|
if (orderDetail.getRefundNum() == 0) {
|
|
if (orderDetail.getRefundNum() == 0) {
|
|
|
refundFlag = RefundFlagEnum.COMMONLY.getName();
|
|
refundFlag = RefundFlagEnum.COMMONLY.getName();
|
|
|
} else {
|
|
} else {
|
|
|
- refundFlag = orderDetail.getNum() - orderDetail.getRefundNum() > 0?
|
|
|
|
|
|
|
+ refundFlag = orderDetail.getNum() - orderDetail.getRefundNum() > 0 ?
|
|
|
RefundFlagEnum.PARTLY.getName() : RefundFlagEnum.ALL.getName();
|
|
RefundFlagEnum.PARTLY.getName() : RefundFlagEnum.ALL.getName();
|
|
|
if (orderDetailBean.getRefundFlag().equals(RefundFlagEnum.ING.toString())) {
|
|
if (orderDetailBean.getRefundFlag().equals(RefundFlagEnum.ING.toString())) {
|
|
|
refundFlag = RefundFlagEnum.ING.getName();
|
|
refundFlag = RefundFlagEnum.ING.getName();
|
|
@@ -1005,10 +996,10 @@ public class OrderLogic {
|
|
|
row.add(orderDetailBean.getUserName());
|
|
row.add(orderDetailBean.getUserName());
|
|
|
row.add(orderDetailBean.getBuyerMsg());
|
|
row.add(orderDetailBean.getBuyerMsg());
|
|
|
row.add(orderDetailBean.getRemark());
|
|
row.add(orderDetailBean.getRemark());
|
|
|
- if(user != null) {
|
|
|
|
|
|
|
+ if (user != null) {
|
|
|
row.add(user.getNickName());
|
|
row.add(user.getNickName());
|
|
|
row.add(user.getMobile());
|
|
row.add(user.getMobile());
|
|
|
- }else{
|
|
|
|
|
|
|
+ } else {
|
|
|
row.add("");
|
|
row.add("");
|
|
|
row.add("");
|
|
row.add("");
|
|
|
}
|
|
}
|
|
@@ -1026,20 +1017,19 @@ public class OrderLogic {
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 导出excel
|
|
* 导出excel
|
|
|
- *
|
|
|
|
|
*/
|
|
*/
|
|
|
public void export2(HttpServletRequest request, HttpServletResponse response,
|
|
public void export2(HttpServletRequest request, HttpServletResponse response,
|
|
|
String userId, String orderId, String productName, String userName,
|
|
String userId, String orderId, String productName, String userName,
|
|
|
String phone, String exchangeCode, String orderStatus,
|
|
String phone, String exchangeCode, String orderStatus,
|
|
|
String startCreateTime, String endCreateTime,
|
|
String startCreateTime, String endCreateTime,
|
|
|
- String startPayTime, String endPayTime, String promotionGroupUserName,String promotionGroupId,
|
|
|
|
|
- String promotionGroupUserId,String promotionFullPieceId,String websitId,String goodsId) throws Exception {
|
|
|
|
|
|
|
+ String startPayTime, String endPayTime, String promotionGroupUserName, String promotionGroupId,
|
|
|
|
|
+ String promotionGroupUserId, String promotionFullPieceId, String websitId, String goodsId) throws Exception {
|
|
|
AdminUserCom adminUser = commonLogic.getAdminUser(request);
|
|
AdminUserCom adminUser = commonLogic.getAdminUser(request);
|
|
|
ExcelData excelData = new ExcelData();
|
|
ExcelData excelData = new ExcelData();
|
|
|
String[] titles = {"订单号", "商品名称", "规格型号", "数量", "单位", "销售单价", "优惠后单价", "实际收款", "收货人姓名",
|
|
String[] titles = {"订单号", "商品名称", "规格型号", "数量", "单位", "销售单价", "优惠后单价", "实际收款", "收货人姓名",
|
|
|
- "手机号", "收货地址","订单状态", "售后状态", "退款金额(小项)", "退款数量(小项)", "备注", "下单时间","支付时间", "买家昵称", "购买渠道",
|
|
|
|
|
- "买家备注", "卖家备注", "网点", "业务员/网点","业务员手机号","分佣金额","团长名称","团长手机号","团购活动id",
|
|
|
|
|
- "评价商品的星数(0未评价)","评价服务的星数(0未评价)","评价物流的星数(0未评价)","信息编号","商品类型","商户名称"};
|
|
|
|
|
|
|
+ "手机号", "收货地址", "订单状态", "售后状态", "退款金额(小项)", "退款数量(小项)", "备注", "下单时间", "支付时间", "买家昵称", "购买渠道",
|
|
|
|
|
+ "买家备注", "卖家备注", "网点", "业务员/网点", "业务员手机号", "分佣金额", "团长名称", "团长手机号", "团购活动id",
|
|
|
|
|
+ "评价商品的星数(0未评价)", "评价服务的星数(0未评价)", "评价物流的星数(0未评价)", "信息编号", "商品类型", "商户名称"};
|
|
|
|
|
|
|
|
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
String fileName = String.format("订单导出%s.xlsx", simpleDateFormat.format(new Date()));
|
|
String fileName = String.format("订单导出%s.xlsx", simpleDateFormat.format(new Date()));
|
|
@@ -1047,17 +1037,17 @@ public class OrderLogic {
|
|
|
List<OrderDetailListBean> orderDetailListBeanList = orderMapper.selectByQueryMsg(userId, orderId, productName, userName,
|
|
List<OrderDetailListBean> orderDetailListBeanList = orderMapper.selectByQueryMsg(userId, orderId, productName, userName,
|
|
|
phone, exchangeCode, orderStatus,
|
|
phone, exchangeCode, orderStatus,
|
|
|
startCreateTime, endCreateTime,
|
|
startCreateTime, endCreateTime,
|
|
|
- startPayTime, endPayTime, promotionGroupUserName,promotionGroupId,promotionGroupUserId,promotionFullPieceId,websitId,goodsId,adminUser.getCompanyWechatIds(),null);
|
|
|
|
|
|
|
+ startPayTime, endPayTime, promotionGroupUserName, promotionGroupId, promotionGroupUserId, promotionFullPieceId, websitId, goodsId, adminUser.getCompanyWechatIds(), null);
|
|
|
|
|
|
|
|
- List<List<Object>> rows =new ArrayList<>();
|
|
|
|
|
- for (OrderDetailListBean orderDetailListBean:orderDetailListBeanList
|
|
|
|
|
- ) {
|
|
|
|
|
- List<Object> row=new ArrayList<>();
|
|
|
|
|
|
|
+ List<List<Object>> rows = new ArrayList<>();
|
|
|
|
|
+ for (OrderDetailListBean orderDetailListBean : orderDetailListBeanList
|
|
|
|
|
+ ) {
|
|
|
|
|
+ List<Object> row = new ArrayList<>();
|
|
|
rows.add(row);
|
|
rows.add(row);
|
|
|
|
|
|
|
|
String goodsName = orderDetailListBean.getGoodsName();
|
|
String goodsName = orderDetailListBean.getGoodsName();
|
|
|
- if(orderDetailListBean.getPromotionPackageGoods() != null && orderDetailListBean.getPromotionPackageGoods()){
|
|
|
|
|
- goodsName = "套购:"+goodsName;
|
|
|
|
|
|
|
+ if (orderDetailListBean.getPromotionPackageGoods() != null && orderDetailListBean.getPromotionPackageGoods()) {
|
|
|
|
|
+ goodsName = "套购:" + goodsName;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
row.add(orderDetailListBean.getOrderId());
|
|
row.add(orderDetailListBean.getOrderId());
|
|
@@ -1074,19 +1064,19 @@ public class OrderLogic {
|
|
|
|
|
|
|
|
if (StringUtils.isNotBlank(orderDetailListBean.getOrderStatus())) {
|
|
if (StringUtils.isNotBlank(orderDetailListBean.getOrderStatus())) {
|
|
|
row.add(OrderStatusEnum.valueOf(orderDetailListBean.getOrderStatus()).getName());
|
|
row.add(OrderStatusEnum.valueOf(orderDetailListBean.getOrderStatus()).getName());
|
|
|
- }else{
|
|
|
|
|
|
|
+ } else {
|
|
|
row.add("");
|
|
row.add("");
|
|
|
}
|
|
}
|
|
|
if (StringUtils.isNotBlank(orderDetailListBean.getRefundFlag())) {
|
|
if (StringUtils.isNotBlank(orderDetailListBean.getRefundFlag())) {
|
|
|
row.add(RefundFlagEnum.valueOf(orderDetailListBean.getRefundFlag()).getName());
|
|
row.add(RefundFlagEnum.valueOf(orderDetailListBean.getRefundFlag()).getName());
|
|
|
- }else{
|
|
|
|
|
|
|
+ } else {
|
|
|
row.add("");
|
|
row.add("");
|
|
|
}
|
|
}
|
|
|
row.add(orderDetailListBean.getRefundAmount());
|
|
row.add(orderDetailListBean.getRefundAmount());
|
|
|
row.add(orderDetailListBean.getRefundNum());
|
|
row.add(orderDetailListBean.getRefundNum());
|
|
|
row.add(orderDetailListBean.getRemark());
|
|
row.add(orderDetailListBean.getRemark());
|
|
|
- row.add(orderDetailListBean.getCreateTime()==null?"":simpleDateFormat.format(orderDetailListBean.getCreateTime()));
|
|
|
|
|
- row.add(orderDetailListBean.getPayTime()==null?"":simpleDateFormat.format(orderDetailListBean.getPayTime()));
|
|
|
|
|
|
|
+ row.add(orderDetailListBean.getCreateTime() == null ? "" : simpleDateFormat.format(orderDetailListBean.getCreateTime()));
|
|
|
|
|
+ row.add(orderDetailListBean.getPayTime() == null ? "" : simpleDateFormat.format(orderDetailListBean.getPayTime()));
|
|
|
row.add(orderDetailListBean.getUserName());
|
|
row.add(orderDetailListBean.getUserName());
|
|
|
row.add(orderDetailListBean.getWorkerName());
|
|
row.add(orderDetailListBean.getWorkerName());
|
|
|
row.add(orderDetailListBean.getBuyerMsg());
|
|
row.add(orderDetailListBean.getBuyerMsg());
|
|
@@ -1123,29 +1113,29 @@ public class OrderLogic {
|
|
|
//订单明细
|
|
//订单明细
|
|
|
List<OrderDetail> orderDetails = orderDetailService.lambdaQuery().eq(OrderDetail::getOrderId, orderInfo.getOrderId()).list();
|
|
List<OrderDetail> orderDetails = orderDetailService.lambdaQuery().eq(OrderDetail::getOrderId, orderInfo.getOrderId()).list();
|
|
|
Map<String, List<OrderDetail>> orderDetailMap = orderDetails.stream().collect(Collectors.groupingBy(OrderDetail::getOrderSmallType));
|
|
Map<String, List<OrderDetail>> orderDetailMap = orderDetails.stream().collect(Collectors.groupingBy(OrderDetail::getOrderSmallType));
|
|
|
- for(String orderSmallType : orderDetailMap.keySet()){
|
|
|
|
|
|
|
+ for (String orderSmallType : orderDetailMap.keySet()) {
|
|
|
List<OrderDetail> orderDetailList = orderDetailMap.get(orderSmallType);
|
|
List<OrderDetail> orderDetailList = orderDetailMap.get(orderSmallType);
|
|
|
OrderAddBean2DTO orderAddBeanDTO = new OrderAddBean2DTO();
|
|
OrderAddBean2DTO orderAddBeanDTO = new OrderAddBean2DTO();
|
|
|
orderAddBeanDTO.setUserAddressId(orderInfo.getUserAddressId());
|
|
orderAddBeanDTO.setUserAddressId(orderInfo.getUserAddressId());
|
|
|
orderAddBeanDTO.setOrderSmallType(orderSmallType);
|
|
orderAddBeanDTO.setOrderSmallType(orderSmallType);
|
|
|
//orderAddBeanDTO.setAppointmentTime(orderInfo.getappo);
|
|
//orderAddBeanDTO.setAppointmentTime(orderInfo.getappo);
|
|
|
List<PgOrderProduct> pgOrderProductList = new ArrayList<>();
|
|
List<PgOrderProduct> pgOrderProductList = new ArrayList<>();
|
|
|
- for(OrderDetail orderDetail : orderDetailList) {
|
|
|
|
|
- if(orderDetail.getNum() - orderDetail.getRefundNum() <= 0){
|
|
|
|
|
|
|
+ for (OrderDetail orderDetail : orderDetailList) {
|
|
|
|
|
+ if (orderDetail.getNum() - orderDetail.getRefundNum() <= 0) {
|
|
|
continue;
|
|
continue;
|
|
|
}
|
|
}
|
|
|
PgOrderProduct bean = new PgOrderProduct();
|
|
PgOrderProduct bean = new PgOrderProduct();
|
|
|
bean.setBrandId(orderDetail.getBrandId());
|
|
bean.setBrandId(orderDetail.getBrandId());
|
|
|
bean.setBrandName(orderDetail.getBrandName());
|
|
bean.setBrandName(orderDetail.getBrandName());
|
|
|
bean.setImgUrl(orderDetail.getImgUrl());
|
|
bean.setImgUrl(orderDetail.getImgUrl());
|
|
|
- if(StringUtils.isNotBlank(orderDetail.getMainNumber())) {
|
|
|
|
|
|
|
+ if (StringUtils.isNotBlank(orderDetail.getMainNumber())) {
|
|
|
bean.setMainId(orderDetail.getMainNumber());
|
|
bean.setMainId(orderDetail.getMainNumber());
|
|
|
bean.setMainName(orderDetail.getMainName());
|
|
bean.setMainName(orderDetail.getMainName());
|
|
|
bean.setSmallId(orderDetail.getSmallNumber());
|
|
bean.setSmallId(orderDetail.getSmallNumber());
|
|
|
bean.setSmallName(orderDetail.getSmallName());
|
|
bean.setSmallName(orderDetail.getSmallName());
|
|
|
- }else{
|
|
|
|
|
|
|
+ } else {
|
|
|
GoodsCategory goodsCategory = goodsCategoryService.getById(orderDetail.getGoodsCategoryId());
|
|
GoodsCategory goodsCategory = goodsCategoryService.getById(orderDetail.getGoodsCategoryId());
|
|
|
- if(goodsCategory != null){
|
|
|
|
|
|
|
+ if (goodsCategory != null) {
|
|
|
bean.setMainId(goodsCategory.getMainNumber());
|
|
bean.setMainId(goodsCategory.getMainNumber());
|
|
|
bean.setMainName(goodsCategory.getMainName());
|
|
bean.setMainName(goodsCategory.getMainName());
|
|
|
bean.setSmallId(goodsCategory.getSmallNumber());
|
|
bean.setSmallId(goodsCategory.getSmallNumber());
|
|
@@ -1163,22 +1153,20 @@ public class OrderLogic {
|
|
|
orderAddBeanDTO.setSaleOrderId(orderInfo.getOrderId());
|
|
orderAddBeanDTO.setSaleOrderId(orderInfo.getOrderId());
|
|
|
orderAddBeanDTO.setUserName(orderInfo.getReceUserName());
|
|
orderAddBeanDTO.setUserName(orderInfo.getReceUserName());
|
|
|
orderAddBeanDTO.setPhone(orderInfo.getRecePhone());
|
|
orderAddBeanDTO.setPhone(orderInfo.getRecePhone());
|
|
|
- orderAddBeanDTO.setAddress(orderInfo.getProvince()+orderInfo.getCity()+orderInfo.getArea()+orderInfo.getStreet()+orderInfo.getReceAddress());
|
|
|
|
|
|
|
+ orderAddBeanDTO.setAddress(orderInfo.getProvince() + orderInfo.getCity() + orderInfo.getArea() + orderInfo.getStreet() + orderInfo.getReceAddress());
|
|
|
String orderBaseId = orderBaseLogic.add(orderAddBeanDTO);
|
|
String orderBaseId = orderBaseLogic.add(orderAddBeanDTO);
|
|
|
|
|
|
|
|
for (OrderDetail orderDetail : orderDetailList) {
|
|
for (OrderDetail orderDetail : orderDetailList) {
|
|
|
orderDetail.setWorkerOrderNo(orderBaseId);
|
|
orderDetail.setWorkerOrderNo(orderBaseId);
|
|
|
}
|
|
}
|
|
|
List<String> orderDetailIds = orderDetailList.stream().map(OrderDetail::getOrderDetailId).collect(Collectors.toList());
|
|
List<String> orderDetailIds = orderDetailList.stream().map(OrderDetail::getOrderDetailId).collect(Collectors.toList());
|
|
|
- orderDetailService.lambdaUpdate().set(OrderDetail::getWorkerOrderNo,orderBaseId).in(OrderDetail::getOrderDetailId,orderDetailIds).update();
|
|
|
|
|
|
|
+ orderDetailService.lambdaUpdate().set(OrderDetail::getWorkerOrderNo, orderBaseId).in(OrderDetail::getOrderDetailId, orderDetailIds).update();
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
private String trimStr(String... str) {
|
|
private String trimStr(String... str) {
|
|
|
StringBuffer sb = new StringBuffer("");
|
|
StringBuffer sb = new StringBuffer("");
|
|
|
for (String s : str) {
|
|
for (String s : str) {
|
|
@@ -1193,7 +1181,7 @@ public class OrderLogic {
|
|
|
|
|
|
|
|
AdminUserCom adminUser = commonLogic.getAdminUser();
|
|
AdminUserCom adminUser = commonLogic.getAdminUser();
|
|
|
|
|
|
|
|
- log.info("发货"+adminUser.toString());
|
|
|
|
|
|
|
+ log.info("发货" + adminUser.toString());
|
|
|
|
|
|
|
|
//库存扣除 // 库存变更台账
|
|
//库存扣除 // 库存变更台账
|
|
|
List<OrderDetail> orderDetails = orderDetailService.lambdaQuery().eq(OrderDetail::getOrderId, sendOrderBody.getOrderId()).list();
|
|
List<OrderDetail> orderDetails = orderDetailService.lambdaQuery().eq(OrderDetail::getOrderId, sendOrderBody.getOrderId()).list();
|
|
@@ -1202,10 +1190,9 @@ public class OrderLogic {
|
|
|
continue;
|
|
continue;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+ if (StringUtil.isEmpty(orderDetail.getGoodsSpecId())) {
|
|
|
|
|
|
|
|
- if (StringUtil.isEmpty(orderDetail.getGoodsSpecId())){
|
|
|
|
|
-
|
|
|
|
|
- }else {
|
|
|
|
|
|
|
+ } else {
|
|
|
GoodsSpec goodsSpec = goodsSpecService.getById(orderDetail.getGoodsSpecId());
|
|
GoodsSpec goodsSpec = goodsSpecService.getById(orderDetail.getGoodsSpecId());
|
|
|
|
|
|
|
|
if (goodsSpec == null)
|
|
if (goodsSpec == null)
|
|
@@ -1215,21 +1202,21 @@ public class OrderLogic {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
- jxGoodsLogic.subMaterialStock(orderDetail.getGoodsMaterialId(), orderDetail.getNum(), null,sendOrderBody.getStorageId());
|
|
|
|
|
|
|
+ jxGoodsLogic.subMaterialStock(orderDetail.getGoodsMaterialId(), orderDetail.getNum(), null, sendOrderBody.getStorageId());
|
|
|
goodsMaterialStockAccLogic.add(orderDetail.getGoodsMaterialId(), orderDetail.getPrice(), orderDetail.getNum(), DirectFlagEnum.SUB,
|
|
goodsMaterialStockAccLogic.add(orderDetail.getGoodsMaterialId(), orderDetail.getPrice(), orderDetail.getNum(), DirectFlagEnum.SUB,
|
|
|
- sendOrderBody.getOrderId(), GoodsMaterialStockAccBillTypeEnum.A,sendOrderBody.getStorageId(),sendOrderBody.getStorageName());
|
|
|
|
|
|
|
+ sendOrderBody.getOrderId(), GoodsMaterialStockAccBillTypeEnum.A, sendOrderBody.getStorageId(), sendOrderBody.getStorageName());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
OrderInfo orderInfo = orderInfoService.getById(sendOrderBody.getOrderId());
|
|
OrderInfo orderInfo = orderInfoService.getById(sendOrderBody.getOrderId());
|
|
|
|
|
|
|
|
- log.info("发货"+adminUser.getJoinCode().toString());
|
|
|
|
|
- log.info("发货"+sendOrderBody.getOrderDetailCodes().toString());
|
|
|
|
|
|
|
+ log.info("发货" + adminUser.getJoinCode().toString());
|
|
|
|
|
+ log.info("发货" + sendOrderBody.getOrderDetailCodes().toString());
|
|
|
|
|
|
|
|
- if (adminUser.getJoinCode().equals("CODE")){
|
|
|
|
|
|
|
+ if (adminUser.getJoinCode().equals("CODE")) {
|
|
|
|
|
|
|
|
- this.checkCode(orderDetails,sendOrderBody);
|
|
|
|
|
|
|
+ this.checkCode(orderDetails, sendOrderBody);
|
|
|
//条码变更台账 条码减去批次库存
|
|
//条码变更台账 条码减去批次库存
|
|
|
- // jxGoodsLogic.subCodeAcc(sendOrderBody.getOrderDetailCodes(), orderInfo);
|
|
|
|
|
|
|
+ // jxGoodsLogic.subCodeAcc(sendOrderBody.getOrderDetailCodes(), orderInfo);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
//添加销售台账
|
|
//添加销售台账
|
|
@@ -1237,7 +1224,7 @@ public class OrderLogic {
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- private void checkCode(List<OrderDetail> list,SendOrderBody sendOrderBody) {
|
|
|
|
|
|
|
+ private void checkCode(List<OrderDetail> list, SendOrderBody sendOrderBody) {
|
|
|
for (OrderDetail orderDetail : list) {
|
|
for (OrderDetail orderDetail : list) {
|
|
|
if (orderDetail.getIsVr() || StringUtil.isEmpty(orderDetail.getGoodsMaterialId()))
|
|
if (orderDetail.getIsVr() || StringUtil.isEmpty(orderDetail.getGoodsMaterialId()))
|
|
|
continue;
|
|
continue;
|
|
@@ -1245,21 +1232,21 @@ public class OrderLogic {
|
|
|
.eq(GoodsMaterialItem::getGoodsMaterialId, orderDetail.getGoodsMaterialId()).list();
|
|
.eq(GoodsMaterialItem::getGoodsMaterialId, orderDetail.getGoodsMaterialId()).list();
|
|
|
for (GoodsMaterialItem goodsMaterialItem : goodsMaterialItems) {
|
|
for (GoodsMaterialItem goodsMaterialItem : goodsMaterialItems) {
|
|
|
//需要条码数量
|
|
//需要条码数量
|
|
|
- Integer num = goodsMaterialItem.getQty()* orderDetail.getNum();
|
|
|
|
|
|
|
+ Integer num = goodsMaterialItem.getQty() * orderDetail.getNum();
|
|
|
|
|
|
|
|
if (num == 0)
|
|
if (num == 0)
|
|
|
return;
|
|
return;
|
|
|
- if (goodsMaterialItem.getUniqueCode().equals(IsYesNoEnum.YES.getKey())){
|
|
|
|
|
|
|
+ if (goodsMaterialItem.getUniqueCode().equals(IsYesNoEnum.YES.getKey())) {
|
|
|
List<OrderDetailCode> collect = sendOrderBody.getOrderDetailCodes().stream()
|
|
List<OrderDetailCode> collect = sendOrderBody.getOrderDetailCodes().stream()
|
|
|
.filter(item -> item.getGoodsMaterialItemId().equals(goodsMaterialItem.getId())
|
|
.filter(item -> item.getGoodsMaterialItemId().equals(goodsMaterialItem.getId())
|
|
|
- && item.getOrderDetailId().equals(orderDetail.getOrderDetailId())
|
|
|
|
|
|
|
+ && item.getOrderDetailId().equals(orderDetail.getOrderDetailId())
|
|
|
)
|
|
)
|
|
|
.collect(Collectors.toList());
|
|
.collect(Collectors.toList());
|
|
|
|
|
|
|
|
if (collect.size() != num)
|
|
if (collect.size() != num)
|
|
|
- throw new RemoteServiceException(goodsMaterialItem.getName()+"此条码名称数量不对,条码数量"+collect.size()+"需要数量"+num);
|
|
|
|
|
|
|
+ throw new RemoteServiceException(goodsMaterialItem.getName() + "此条码名称数量不对,条码数量" + collect.size() + "需要数量" + num);
|
|
|
|
|
|
|
|
- }else {
|
|
|
|
|
|
|
+ } else {
|
|
|
List<OrderDetailCode> collect = sendOrderBody.getOrderDetailCodes().stream()
|
|
List<OrderDetailCode> collect = sendOrderBody.getOrderDetailCodes().stream()
|
|
|
.filter(item -> item.getGoodsMaterialItemId().equals(goodsMaterialItem.getId())
|
|
.filter(item -> item.getGoodsMaterialItemId().equals(goodsMaterialItem.getId())
|
|
|
&& item.getOrderDetailId().equals(orderDetail.getOrderDetailId())
|
|
&& item.getOrderDetailId().equals(orderDetail.getOrderDetailId())
|
|
@@ -1402,6 +1389,7 @@ public class OrderLogic {
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 完成拣货
|
|
* 完成拣货
|
|
|
|
|
+ *
|
|
|
* @param orderId
|
|
* @param orderId
|
|
|
*/
|
|
*/
|
|
|
@Transactional
|
|
@Transactional
|
|
@@ -1417,6 +1405,7 @@ public class OrderLogic {
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 开始配送
|
|
* 开始配送
|
|
|
|
|
+ *
|
|
|
* @param orderIds
|
|
* @param orderIds
|
|
|
*/
|
|
*/
|
|
|
@Transactional
|
|
@Transactional
|
|
@@ -1445,6 +1434,7 @@ public class OrderLogic {
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 添加配送员
|
|
* 添加配送员
|
|
|
|
|
+ *
|
|
|
* @param orderIds
|
|
* @param orderIds
|
|
|
* @param userId
|
|
* @param userId
|
|
|
*/
|
|
*/
|