fix: 修复商城问题文档中的bug

This commit is contained in:
lele0521
2024-03-25 16:26:21 +08:00
parent 42ea2dc986
commit ecfe1524d4
7 changed files with 98 additions and 28 deletions

View File

@@ -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));
}
}
/**

View File

@@ -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);
/**
* 检查售后表,根据售后表中的业务判定是否需要更新售后状态
*

View File

@@ -77,5 +77,5 @@ public interface OrderItemService extends IService<OrderItem> {
List<OrderItem> waitOperationOrderItem(OrderItemOperationDTO orderItemOperationDTO);
void expiredAfterSaleStatusExecuteByAfterSale(DateTime receiveTime);
void expiredAfterSaleStatus(DateTime expiredTime);
}

View File

@@ -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);
}
}

View File

@@ -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);
}
}

View File

@@ -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;
}
}