fix: 修复商城问题文档中的bug
This commit is contained in:
parent
42ea2dc986
commit
ecfe1524d4
@ -177,10 +177,6 @@ public class OrderEveryDayTaskExecute implements EveryDayExecute {
|
||||
* @param orderSetting 订单设置
|
||||
*/
|
||||
private void closeAfterSale(OrderSetting orderSetting) {
|
||||
//为0则不限制
|
||||
if (orderSetting.getCloseAfterSale() == null || orderSetting.getCloseAfterSale() == 0) {
|
||||
return;
|
||||
}
|
||||
//订单关闭售后申请时间 = 当前时间 - 自动关闭售后申请天数
|
||||
DateTime receiveTime = DateUtil.offsetDay(DateUtil.date(), -orderSetting.getCloseAfterSale());
|
||||
//关闭售后订单=未售后订单+小于订单关闭售后申请时间
|
||||
@ -189,25 +185,9 @@ public class OrderEveryDayTaskExecute implements EveryDayExecute {
|
||||
|
||||
//判断是否有符合条件的订单,关闭允许售后申请处理
|
||||
if (!orderItems.isEmpty()) {
|
||||
|
||||
//获取订单货物ID
|
||||
List<String> orderItemIdList = orderItems.stream().map(OrderItem::getId).collect(Collectors.toList());
|
||||
|
||||
//修改订单售后状态
|
||||
LambdaUpdateWrapper<OrderItem> lambdaUpdateWrapper = new LambdaUpdateWrapper<OrderItem>()
|
||||
.set(OrderItem::getAfterSaleStatus, OrderItemAfterSaleStatusEnum.EXPIRED.name())
|
||||
.in(OrderItem::getId, orderItemIdList);
|
||||
orderItemService.update(lambdaUpdateWrapper);
|
||||
orderItemService.expiredAfterSaleStatusExecuteByAfterSale(receiveTime);
|
||||
//修改订售后状态
|
||||
List<OrderItem> orderItemsList = orderItems.stream()
|
||||
.map((orderItem) -> {
|
||||
orderItem.setAfterSaleStatus(OrderItemAfterSaleStatusEnum.EXPIRED.name());
|
||||
return orderItem;
|
||||
})
|
||||
.collect(Collectors.toList());
|
||||
orderItemService.expiredAfterSaleStatus(receiveTime);
|
||||
//修改对应分销订单状态
|
||||
distributionOrderService.updateDistributionOrderStatus(orderItemsList);
|
||||
distributionOrderService.updateDistributionOrderStatus(orderItems);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,6 +1,8 @@
|
||||
package cn.lili.modules.member.serviceimpl;
|
||||
|
||||
import cn.lili.common.security.AuthUser;
|
||||
import cn.lili.common.security.context.UserContext;
|
||||
import cn.lili.common.security.enums.UserEnums;
|
||||
import cn.lili.common.vo.PageVO;
|
||||
import cn.lili.modules.member.entity.dos.MemberAddress;
|
||||
import cn.lili.modules.member.mapper.MemberAddressMapper;
|
||||
@ -35,10 +37,15 @@ public class MemberAddressServiceImpl extends ServiceImpl<MemberAddressMapper, M
|
||||
|
||||
@Override
|
||||
public MemberAddress getMemberAddress(String id) {
|
||||
return this.getOne(
|
||||
new QueryWrapper<MemberAddress>()
|
||||
.eq("member_id", Objects.requireNonNull(UserContext.getCurrentUser()).getId())
|
||||
.eq("id", id));
|
||||
AuthUser authUser = UserContext.getCurrentUser();
|
||||
if (authUser.getIsSuper() || UserEnums.MANAGER.equals(authUser.getRole())){
|
||||
return this.getOne(new QueryWrapper<MemberAddress>().eq("id", id));
|
||||
}else{
|
||||
return this.getOne(
|
||||
new QueryWrapper<MemberAddress>()
|
||||
.eq("member_id", Objects.requireNonNull(UserContext.getCurrentUser()).getId())
|
||||
.eq("id", id));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -29,6 +29,15 @@ public interface OrderItemMapper extends BaseMapper<OrderItem> {
|
||||
@Select("SELECT * FROM li_order_item AS oi INNER JOIN li_order AS o ON oi.order_sn=o.sn ${ew.customSqlSegment}")
|
||||
List<OrderItem> waitOperationOrderItem(@Param(Constants.WRAPPER) Wrapper<OrderSimpleVO> queryWrapper);
|
||||
|
||||
/**
|
||||
* 未申请售后的订单,进行售后过期标识
|
||||
*
|
||||
* @param expiredTime 过期时间
|
||||
*/
|
||||
@Update("update li_order_item oi INNER JOIN li_order AS o ON oi.order_sn=o.sn set after_sale_status = 'EXPIRED' where after_sale_status = " +
|
||||
"'NOT_APPLIED' and o.complete_time < #{expiredTime}")
|
||||
void expiredAfterSaleStatus(DateTime expiredTime);
|
||||
|
||||
/**
|
||||
* 检查售后表,根据售后表中的业务判定是否需要更新售后状态
|
||||
*
|
||||
|
@ -77,5 +77,5 @@ public interface OrderItemService extends IService<OrderItem> {
|
||||
|
||||
List<OrderItem> waitOperationOrderItem(OrderItemOperationDTO orderItemOperationDTO);
|
||||
|
||||
void expiredAfterSaleStatusExecuteByAfterSale(DateTime receiveTime);
|
||||
void expiredAfterSaleStatus(DateTime expiredTime);
|
||||
}
|
@ -110,4 +110,10 @@ public class OrderItemServiceImpl extends ServiceImpl<OrderItemMapper, OrderItem
|
||||
public void expiredAfterSaleStatusExecuteByAfterSale(DateTime receiveTime) {
|
||||
this.baseMapper.expiredAfterSaleStatusExecuteByAfterSale(receiveTime);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void expiredAfterSaleStatus(DateTime expiredTime) {
|
||||
this.baseMapper.expiredAfterSaleStatus(expiredTime);
|
||||
this.baseMapper.expiredAfterSaleStatusExecuteByAfterSale(expiredTime);
|
||||
}
|
||||
}
|
@ -40,8 +40,12 @@ import cn.lili.modules.store.entity.dto.StoreDeliverGoodsAddressDTO;
|
||||
import cn.lili.modules.store.service.StoreDetailService;
|
||||
import cn.lili.modules.system.aspect.annotation.SystemLogPoint;
|
||||
import cn.lili.modules.system.entity.dos.Logistics;
|
||||
import cn.lili.modules.system.entity.dos.Setting;
|
||||
import cn.lili.modules.system.entity.dto.OrderSetting;
|
||||
import cn.lili.modules.system.entity.enums.SettingEnum;
|
||||
import cn.lili.modules.system.entity.vo.Traces;
|
||||
import cn.lili.modules.system.service.LogisticsService;
|
||||
import cn.lili.modules.system.service.SettingService;
|
||||
import cn.lili.mybatis.util.PageUtil;
|
||||
import cn.lili.rocketmq.RocketmqSendCallbackBuilder;
|
||||
import cn.lili.rocketmq.tags.GoodsTagsEnum;
|
||||
@ -154,6 +158,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
||||
@Autowired
|
||||
private OrderPackageItemService orderPackageItemService;
|
||||
|
||||
@Autowired
|
||||
private SettingService settingService;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void intoDB(TradeDTO tradeDTO) {
|
||||
@ -558,11 +565,14 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void complete(Order order, String orderSn) {//修改订单状态为完成
|
||||
this.updateStatus(orderSn, OrderStatusEnum.COMPLETED);
|
||||
|
||||
//修改订单货物可以进行评价
|
||||
orderItemService.update(new UpdateWrapper<OrderItem>().eq(ORDER_SN_COLUMN, orderSn)
|
||||
.set("comment_status", CommentStatusEnum.UNFINISHED));
|
||||
this.update(new LambdaUpdateWrapper<Order>().eq(Order::getSn, orderSn).set(Order::getCompleteTime, new Date()));
|
||||
|
||||
//修改订单投诉状态
|
||||
updateOrderComplainStatus(orderSn);
|
||||
|
||||
//发送订单状态改变消息
|
||||
OrderMessage orderMessage = new OrderMessage();
|
||||
orderMessage.setNewStatus(OrderStatusEnum.COMPLETED);
|
||||
@ -1136,4 +1146,26 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
||||
throw new ServiceException(ResultCode.ORDER_TAKE_ERROR);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据订单设置修改订单投诉状态
|
||||
* @param orderSn
|
||||
*/
|
||||
private void updateOrderComplainStatus(String orderSn) {
|
||||
Setting setting = settingService.get(SettingEnum.ORDER_SETTING.name());
|
||||
//订单设置
|
||||
OrderSetting orderSetting = JSONUtil.toBean(setting.getSettingValue(), OrderSetting.class);
|
||||
if (orderSetting == null) {
|
||||
return;
|
||||
}
|
||||
//设置投诉天数大于0 则走每日定时任务处理,=0 则即可关闭订单的投诉状态
|
||||
if (orderSetting.getCloseComplaint() > 0) {
|
||||
return;
|
||||
}
|
||||
//关闭订单投诉状态
|
||||
LambdaUpdateWrapper<OrderItem> lambdaUpdateWrapper = new LambdaUpdateWrapper<OrderItem>()
|
||||
.eq(OrderItem::getOrderSn, orderSn)
|
||||
.set(OrderItem::getComplainStatus, OrderComplaintStatusEnum.EXPIRED.name());
|
||||
orderItemService.update(lambdaUpdateWrapper);
|
||||
}
|
||||
}
|
@ -183,4 +183,40 @@ public class StoreEditDTO {
|
||||
@ApiModelProperty(value = "腾讯云智服小程序唯一标识")
|
||||
private String yzfMpSign;
|
||||
|
||||
public String getSalesConsigneeName() {
|
||||
return getDefaultValue(salesConsigneeName);
|
||||
}
|
||||
|
||||
public String getSalesConsigneeMobile() {
|
||||
return getDefaultValue(salesConsigneeMobile);
|
||||
}
|
||||
|
||||
public String getSalesConsigneeAddressId() {
|
||||
return getDefaultValue(salesConsigneeAddressId);
|
||||
}
|
||||
|
||||
public String getSalesConsigneeAddressPath() {
|
||||
return getDefaultValue(salesConsigneeAddressPath);
|
||||
}
|
||||
|
||||
public String getSalesConsigneeDetail() {
|
||||
return getDefaultValue(salesConsigneeDetail);
|
||||
}
|
||||
|
||||
public String getYzfSign() {
|
||||
return getDefaultValue(yzfSign);
|
||||
}
|
||||
|
||||
public String getYzfMpSign() {
|
||||
return getDefaultValue(yzfMpSign);
|
||||
}
|
||||
|
||||
/**
|
||||
* JSON转换中的null 会转成 "null"
|
||||
* @param value
|
||||
* @return
|
||||
*/
|
||||
private String getDefaultValue(String value){
|
||||
return (value == null || "null".equals(value)) ? "" : value;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user