fix
This commit is contained in:
@@ -10,12 +10,15 @@ import com.starry.admin.modules.clerk.service.IPlayClerkUserInfoService;
|
|||||||
import com.starry.admin.modules.order.mapper.PlayOrderInfoMapper;
|
import com.starry.admin.modules.order.mapper.PlayOrderInfoMapper;
|
||||||
import com.starry.admin.modules.order.module.entity.PlayOrderInfoEntity;
|
import com.starry.admin.modules.order.module.entity.PlayOrderInfoEntity;
|
||||||
import com.starry.admin.modules.weichat.service.WxCustomMpService;
|
import com.starry.admin.modules.weichat.service.WxCustomMpService;
|
||||||
|
import com.starry.common.redis.RedisCache;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.data.redis.core.RedisTemplate;
|
||||||
|
import org.springframework.data.redis.core.StringRedisTemplate;
|
||||||
import org.springframework.scheduling.annotation.Scheduled;
|
import org.springframework.scheduling.annotation.Scheduled;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
@@ -29,6 +32,8 @@ public class OrderJob {
|
|||||||
private WxCustomMpService wxCustomMpService;
|
private WxCustomMpService wxCustomMpService;
|
||||||
@Resource
|
@Resource
|
||||||
private IPlayClerkUserInfoService clerkUserInfoService;
|
private IPlayClerkUserInfoService clerkUserInfoService;
|
||||||
|
@Resource
|
||||||
|
public RedisTemplate<String, Object> redisTemplate;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -82,6 +87,12 @@ public class OrderJob {
|
|||||||
|
|
||||||
orderInfoEntityList.forEach(orderInfo -> {
|
orderInfoEntityList.forEach(orderInfo -> {
|
||||||
try {
|
try {
|
||||||
|
// 半小时只能发一次,使用redis做频次限制
|
||||||
|
if (Boolean.TRUE.equals(redisTemplate.hasKey("order_notice_" + orderInfo.getId()))) {
|
||||||
|
log.error("订单已催促,执行跳过:{}", orderInfo.getOrderNo());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
redisTemplate.opsForValue().set("order_notice_" + orderInfo.getId(), "1", 30, java.util.concurrent.TimeUnit.MINUTES);
|
||||||
List<PlayClerkUserInfoEntity> clerkList = clerkUserInfoService.list(Wrappers.lambdaQuery(PlayClerkUserInfoEntity.class).isNotNull(PlayClerkUserInfoEntity::getOpenid).eq(PlayClerkUserInfoEntity::getLevelId, orderInfo.getLevelId()).eq(PlayClerkUserInfoEntity::getClerkState, "1")
|
List<PlayClerkUserInfoEntity> clerkList = clerkUserInfoService.list(Wrappers.lambdaQuery(PlayClerkUserInfoEntity.class).isNotNull(PlayClerkUserInfoEntity::getOpenid).eq(PlayClerkUserInfoEntity::getLevelId, orderInfo.getLevelId()).eq(PlayClerkUserInfoEntity::getClerkState, "1")
|
||||||
.eq(PlayClerkUserInfoEntity::getSex, orderInfo.getSex()).eq(PlayClerkUserInfoEntity::getTenantId, orderInfo.getTenantId()));
|
.eq(PlayClerkUserInfoEntity::getSex, orderInfo.getSex()).eq(PlayClerkUserInfoEntity::getTenantId, orderInfo.getTenantId()));
|
||||||
wxCustomMpService.sendCreateOrderMessageBatch(clerkList, orderInfo.getOrderNo(), orderInfo.getOrderMoney().toString(), orderInfo.getCommodityName(), orderInfo.getId());
|
wxCustomMpService.sendCreateOrderMessageBatch(clerkList, orderInfo.getOrderNo(), orderInfo.getOrderMoney().toString(), orderInfo.getCommodityName(), orderInfo.getId());
|
||||||
|
|||||||
@@ -585,7 +585,7 @@ public class PlayOrderInfoServiceImpl extends ServiceImpl<PlayOrderInfoMapper, P
|
|||||||
LambdaQueryWrapper<PlayOrderInfoEntity> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<PlayOrderInfoEntity> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
lambdaQueryWrapper.eq(PlayOrderInfoEntity::getPlaceType, "1");
|
lambdaQueryWrapper.eq(PlayOrderInfoEntity::getPlaceType, "1");
|
||||||
lambdaQueryWrapper.eq(PlayOrderInfoEntity::getOrderStatus, "0");
|
lambdaQueryWrapper.eq(PlayOrderInfoEntity::getOrderStatus, "0");
|
||||||
lambdaQueryWrapper.eq(PlayOrderInfoEntity::getLevelId, entity.getLevelId());
|
// lambdaQueryWrapper.eq(PlayOrderInfoEntity::getLevelId, entity.getLevelId());
|
||||||
lambdaQueryWrapper.eq(PlayOrderInfoEntity::getSex, entity.getSex());
|
lambdaQueryWrapper.eq(PlayOrderInfoEntity::getSex, entity.getSex());
|
||||||
lambdaQueryWrapper.eq(PlayOrderInfoEntity::getExcludeHistory, "0")
|
lambdaQueryWrapper.eq(PlayOrderInfoEntity::getExcludeHistory, "0")
|
||||||
.or(wrapper1 -> wrapper1.ne(PlayOrderInfoEntity::getAcceptBy, clerkId)
|
.or(wrapper1 -> wrapper1.ne(PlayOrderInfoEntity::getAcceptBy, clerkId)
|
||||||
@@ -817,10 +817,10 @@ public class PlayOrderInfoServiceImpl extends ServiceImpl<PlayOrderInfoMapper, P
|
|||||||
if (orderInfo.getLevelId().equals(clerkUserInfoEntity.getLevelId())) {
|
if (orderInfo.getLevelId().equals(clerkUserInfoEntity.getLevelId())) {
|
||||||
PlayClerkLevelInfoEntity levelInfo = playClerkLevelInfoService
|
PlayClerkLevelInfoEntity levelInfo = playClerkLevelInfoService
|
||||||
.selectPlayClerkLevelInfoById(orderInfo.getLevelId());
|
.selectPlayClerkLevelInfoById(orderInfo.getLevelId());
|
||||||
throw new CustomException("等级为" + levelInfo.getName() + "的店员才可接单");
|
// throw new CustomException("等级为" + levelInfo.getName() + "的店员才可接单");
|
||||||
}
|
}
|
||||||
// 判断店员性别是否符合规则
|
// 判断店员性别是否符合规则
|
||||||
if (orderInfo.getSex().equals(clerkUserInfoEntity.getSex())) {
|
if (!orderInfo.getSex().equals(clerkUserInfoEntity.getSex())) {
|
||||||
String sex = "0".equals(orderInfo.getSex()) ? "未知" : "1".equals(orderInfo.getSex()) ? "男" : "女";
|
String sex = "0".equals(orderInfo.getSex()) ? "未知" : "1".equals(orderInfo.getSex()) ? "男" : "女";
|
||||||
throw new CustomException("性别为" + sex + "的店员才可接单");
|
throw new CustomException("性别为" + sex + "的店员才可接单");
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user