diff --git a/consumer/src/main/java/cn/lili/timetask/handler/impl/order/OrderEveryDayTaskExecute.java b/consumer/src/main/java/cn/lili/timetask/handler/impl/order/OrderEveryDayTaskExecute.java index 1f43d6957..e86aaf8c4 100644 --- a/consumer/src/main/java/cn/lili/timetask/handler/impl/order/OrderEveryDayTaskExecute.java +++ b/consumer/src/main/java/cn/lili/timetask/handler/impl/order/OrderEveryDayTaskExecute.java @@ -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 orderItemIdList = orderItems.stream().map(OrderItem::getId).collect(Collectors.toList()); - - //修改订单售后状态 - LambdaUpdateWrapper lambdaUpdateWrapper = new LambdaUpdateWrapper() - .set(OrderItem::getAfterSaleStatus, OrderItemAfterSaleStatusEnum.EXPIRED.name()) - .in(OrderItem::getId, orderItemIdList); - orderItemService.update(lambdaUpdateWrapper); - orderItemService.expiredAfterSaleStatusExecuteByAfterSale(receiveTime); - //修改订售后状态 - List orderItemsList = orderItems.stream() - .map((orderItem) -> { - orderItem.setAfterSaleStatus(OrderItemAfterSaleStatusEnum.EXPIRED.name()); - return orderItem; - }) - .collect(Collectors.toList()); + orderItemService.expiredAfterSaleStatus(receiveTime); //修改对应分销订单状态 - distributionOrderService.updateDistributionOrderStatus(orderItemsList); + distributionOrderService.updateDistributionOrderStatus(orderItems); } } diff --git a/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberAddressServiceImpl.java b/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberAddressServiceImpl.java index 5ccee96c3..7c3b7fbaa 100644 --- a/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberAddressServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberAddressServiceImpl.java @@ -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() - .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().eq("id", id)); + }else{ + return this.getOne( + new QueryWrapper() + .eq("member_id", Objects.requireNonNull(UserContext.getCurrentUser()).getId()) + .eq("id", id)); + } } /** diff --git a/framework/src/main/java/cn/lili/modules/order/order/mapper/OrderItemMapper.java b/framework/src/main/java/cn/lili/modules/order/order/mapper/OrderItemMapper.java index 563c0e072..1c71af7fb 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/mapper/OrderItemMapper.java +++ b/framework/src/main/java/cn/lili/modules/order/order/mapper/OrderItemMapper.java @@ -29,6 +29,15 @@ public interface OrderItemMapper extends BaseMapper { @Select("SELECT * FROM li_order_item AS oi INNER JOIN li_order AS o ON oi.order_sn=o.sn ${ew.customSqlSegment}") List waitOperationOrderItem(@Param(Constants.WRAPPER) Wrapper 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); + /** * 检查售后表,根据售后表中的业务判定是否需要更新售后状态 * diff --git a/framework/src/main/java/cn/lili/modules/order/order/service/OrderItemService.java b/framework/src/main/java/cn/lili/modules/order/order/service/OrderItemService.java index be89db7dc..d3ff6520c 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/service/OrderItemService.java +++ b/framework/src/main/java/cn/lili/modules/order/order/service/OrderItemService.java @@ -77,5 +77,5 @@ public interface OrderItemService extends IService { List waitOperationOrderItem(OrderItemOperationDTO orderItemOperationDTO); - void expiredAfterSaleStatusExecuteByAfterSale(DateTime receiveTime); + void expiredAfterSaleStatus(DateTime expiredTime); } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderItemServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderItemServiceImpl.java index 3a06b72f4..1504b59df 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderItemServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderItemServiceImpl.java @@ -106,8 +106,10 @@ public class OrderItemServiceImpl extends ServiceImpl 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 implements @Transactional(rollbackFor = Exception.class) public void complete(Order order, String orderSn) {//修改订单状态为完成 this.updateStatus(orderSn, OrderStatusEnum.COMPLETED); - //修改订单货物可以进行评价 orderItemService.update(new UpdateWrapper().eq(ORDER_SN_COLUMN, orderSn) .set("comment_status", CommentStatusEnum.UNFINISHED)); this.update(new LambdaUpdateWrapper().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 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 lambdaUpdateWrapper = new LambdaUpdateWrapper() + .eq(OrderItem::getOrderSn, orderSn) + .set(OrderItem::getComplainStatus, OrderComplaintStatusEnum.EXPIRED.name()); + orderItemService.update(lambdaUpdateWrapper); + } } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/store/entity/dto/StoreEditDTO.java b/framework/src/main/java/cn/lili/modules/store/entity/dto/StoreEditDTO.java index 4c460945d..67e20491f 100644 --- a/framework/src/main/java/cn/lili/modules/store/entity/dto/StoreEditDTO.java +++ b/framework/src/main/java/cn/lili/modules/store/entity/dto/StoreEditDTO.java @@ -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; + } }