fix: mask random order details for non-owner clerks
This commit is contained in:
@@ -122,25 +122,27 @@ public class WxOrderInfoController {
|
||||
if (vo == null) {
|
||||
throw new CustomException("订单不存在");
|
||||
}
|
||||
// Privacy protection: Hide customer info for pending random orders that current clerk hasn't accepted
|
||||
String currentClerkId = ThreadLocalRequestDetail.getClerkUserInfo().getId();
|
||||
if (OrderConstant.PlaceType.RANDOM.getCode().equals(vo.getPlaceType()) && OrderConstant.OrderStatus.PENDING.getCode().equals(vo.getOrderStatus())) {
|
||||
// Random order pending - customer info already hidden by service layer
|
||||
vo.setWeiChatCode("");
|
||||
} else if (StringUtils.isNotEmpty(vo.getAcceptBy()) && !vo.getAcceptBy().equals(currentClerkId)) {
|
||||
// Order accepted by another clerk - hide WeChat and customer info
|
||||
vo.setWeiChatCode("");
|
||||
vo.setCustomNickname("匿名用户");
|
||||
vo.setCustomAvatar("");
|
||||
vo.setCustomId("");
|
||||
}
|
||||
|
||||
if(vo.getOrderStatus().equals("4")){
|
||||
vo.setWeiChatCode("");
|
||||
if (OrderConstant.PlaceType.RANDOM.getCode().equals(vo.getPlaceType())) {
|
||||
boolean acceptedByCurrentClerk = StringUtils.isNotEmpty(vo.getAcceptBy())
|
||||
&& vo.getAcceptBy().equals(currentClerkId);
|
||||
if (!acceptedByCurrentClerk) {
|
||||
maskRandomOrderForNonOwner(vo, currentClerkId);
|
||||
}
|
||||
}
|
||||
return R.ok(vo);
|
||||
}
|
||||
|
||||
private void maskRandomOrderForNonOwner(PlayOrderDetailsReturnVo vo, String currentClerkId) {
|
||||
vo.setWeiChatCode("");
|
||||
vo.setCustomNickname("匿名用户");
|
||||
vo.setCustomAvatar("");
|
||||
vo.setCustomId("");
|
||||
if (StringUtils.isNotEmpty(vo.getAcceptBy()) && !vo.getAcceptBy().equals(currentClerkId)) {
|
||||
vo.setOrderStatus("");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 店员查询打赏动态
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user