yshop2.0.1,优化拼团及其修复推广人订单等
This commit is contained in:
@ -25,4 +25,5 @@ ALTER TABLE `yx_store_seckill`
|
||||
ADD COLUMN `time_id` int(10) UNSIGNED NULL DEFAULT 0 COMMENT '时间段id' AFTER `start_time_date`
|
||||
|
||||
ALTER TABLE `yx_store_category`
|
||||
ADD COLUMN `is_del` tinyint(1) UNSIGNED NULL DEFAULT 0 COMMENT '删除状态' AFTER `add_time`
|
||||
ADD COLUMN `is_del` tinyint(1) UNSIGNED NULL DEFAULT 0 COMMENT '删除状态' AFTER `add_time`
|
||||
|
||||
|
@ -1,3 +1,5 @@
|
||||
新项目 直接导入yshop2.1.sql即可
|
||||
2.0升级到2.1,直接把yshop2.1升级sql.txt里面sql语句运行即可
|
||||
|
||||
2.0.1:yx_cache表修改为yx_wechat_menu表
|
||||
|
||||
|
@ -10,6 +10,7 @@ package co.yixiang.config;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import co.yixiang.listener.RedisKeyExpirationListener;
|
||||
import co.yixiang.modules.activity.service.YxStorePinkService;
|
||||
import co.yixiang.modules.order.service.YxStoreOrderService;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
@ -32,6 +33,7 @@ public class RedisListenerConfig {
|
||||
private final RedisTemplate<String, String> redisTemplate;
|
||||
private final RedisConfigProperties redisConfigProperties;
|
||||
private final YxStoreOrderService storeOrderService;
|
||||
private final YxStorePinkService storePinkService;
|
||||
|
||||
@Bean
|
||||
RedisMessageListenerContainer container(RedisConnectionFactory factory) {
|
||||
@ -39,7 +41,7 @@ public class RedisListenerConfig {
|
||||
RedisMessageListenerContainer container = new RedisMessageListenerContainer();
|
||||
container.setConnectionFactory(factory);
|
||||
container.addMessageListener(new RedisKeyExpirationListener(redisTemplate,redisConfigProperties
|
||||
,storeOrderService), new PatternTopic(topic));
|
||||
,storeOrderService,storePinkService), new PatternTopic(topic));
|
||||
return container;
|
||||
}
|
||||
}
|
||||
|
@ -11,9 +11,12 @@ package co.yixiang.listener;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import co.yixiang.constant.ShopConstants;
|
||||
import co.yixiang.config.RedisConfigProperties;
|
||||
import co.yixiang.modules.activity.entity.YxStorePink;
|
||||
import co.yixiang.modules.activity.service.YxStorePinkService;
|
||||
import co.yixiang.modules.order.entity.YxStoreOrder;
|
||||
import co.yixiang.modules.order.service.YxStoreOrderService;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.data.redis.connection.Message;
|
||||
import org.springframework.data.redis.connection.MessageListener;
|
||||
@ -33,13 +36,16 @@ public class RedisKeyExpirationListener implements MessageListener {
|
||||
private RedisTemplate<String, String> redisTemplate;
|
||||
private RedisConfigProperties redisConfigProperties;
|
||||
private YxStoreOrderService storeOrderService;
|
||||
private YxStorePinkService storePinkService;
|
||||
|
||||
public RedisKeyExpirationListener(RedisTemplate<String, String> redisTemplate,
|
||||
RedisConfigProperties redisConfigProperties,
|
||||
YxStoreOrderService storeOrderService){
|
||||
YxStoreOrderService storeOrderService,
|
||||
YxStorePinkService storePinkService){
|
||||
this.redisTemplate = redisTemplate;
|
||||
this.redisConfigProperties = redisConfigProperties;
|
||||
this.storeOrderService = storeOrderService;
|
||||
this.storePinkService = storePinkService;
|
||||
}
|
||||
@Override
|
||||
public void onMessage(Message message, byte[] bytes) {
|
||||
@ -75,6 +81,21 @@ public class RedisKeyExpirationListener implements MessageListener {
|
||||
log.info("订单id:{},自动收货成功",body);
|
||||
}
|
||||
}
|
||||
|
||||
//拼团过期取消
|
||||
if(body.contains(ShopConstants.REDIS_PINK_CANCEL_KEY)) {
|
||||
body = body.replace(ShopConstants.REDIS_PINK_CANCEL_KEY, "");
|
||||
log.info("body:{}",body);
|
||||
String pinkId = body;
|
||||
YxStorePink storePink = storePinkService.getOne(Wrappers.<YxStorePink>lambdaQuery()
|
||||
.eq(YxStorePink::getId,pinkId)
|
||||
.eq(YxStorePink::getStatus,1).eq(YxStorePink::getIsRefund,0));
|
||||
//取消拼团
|
||||
if(storePink != null){
|
||||
storePinkService.removePink(storePink.getUid(),storePink.getCid(),storePink.getId());
|
||||
log.info("拼团订单id:{},未在规定时间完成取消成功",body);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -10,8 +10,10 @@ package co.yixiang.modules.activity.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import co.yixiang.common.service.impl.BaseServiceImpl;
|
||||
import co.yixiang.common.web.vo.Paging;
|
||||
import co.yixiang.constant.ShopConstants;
|
||||
import co.yixiang.exception.ErrorRequestException;
|
||||
import co.yixiang.modules.activity.entity.YxStorePink;
|
||||
import co.yixiang.modules.activity.mapper.YxStoreCombinationMapper;
|
||||
@ -35,16 +37,19 @@ import co.yixiang.utils.OrderUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.metadata.OrderItem;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.redis.core.RedisTemplate;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
|
||||
/**
|
||||
@ -72,6 +77,9 @@ public class YxStorePinkServiceImpl extends BaseServiceImpl<YxStorePinkMapper, Y
|
||||
@Autowired
|
||||
private YxUserService userService;
|
||||
|
||||
@Autowired
|
||||
private RedisTemplate<String, String> redisTemplate;
|
||||
|
||||
@Autowired
|
||||
private StorePinkMap pinkMap;
|
||||
|
||||
@ -487,6 +495,9 @@ public class YxStorePinkServiceImpl extends BaseServiceImpl<YxStorePinkMapper, Y
|
||||
YxStoreCombinationQueryVo combinationQueryVo = combinationService
|
||||
.getYxStoreCombinationById(order.getCombinationId());
|
||||
order = storeOrderService.handleOrder(order);
|
||||
int pinkCount = yxStorePinkMapper.selectCount(Wrappers.<YxStorePink>lambdaQuery()
|
||||
.eq(YxStorePink::getOrderId,order.getOrderId()));
|
||||
if(pinkCount > 0) return;
|
||||
if(ObjectUtil.isNotNull(combinationQueryVo)){
|
||||
YxStorePink storePink = new YxStorePink();
|
||||
storePink.setUid(order.getUid());
|
||||
@ -501,10 +512,11 @@ public class YxStorePinkServiceImpl extends BaseServiceImpl<YxStorePinkMapper, Y
|
||||
storePink.setPid(queryVo.getProductId());
|
||||
storePink.setPrice(queryVo.getProductInfo().getPrice());
|
||||
}
|
||||
int nowTime = OrderUtil.getSecondTimestampTwo();
|
||||
int stopTime = nowTime +(combinationQueryVo.getEffectiveTime()*3600);
|
||||
storePink.setPeople(combinationQueryVo.getPeople());
|
||||
storePink.setStopTime(OrderUtil.getSecondTimestampTwo()
|
||||
+(combinationQueryVo.getEffectiveTime()*3600)+"");
|
||||
storePink.setAddTime(OrderUtil.getSecondTimestampTwo()+"");
|
||||
storePink.setStopTime(stopTime+"");
|
||||
storePink.setAddTime(nowTime+"");
|
||||
if(order.getPinkId() > 0){
|
||||
if(getIsPinkUid(order.getPinkId(),order.getUid()) > 0) return;
|
||||
storePink.setKId(order.getPinkId());
|
||||
@ -532,6 +544,12 @@ public class YxStorePinkServiceImpl extends BaseServiceImpl<YxStorePinkMapper, Y
|
||||
yxStoreOrder.setPinkId(storePink.getId());
|
||||
yxStoreOrder.setId(order.getId());
|
||||
storeOrderService.updateById(yxStoreOrder);
|
||||
|
||||
//开团加入队列
|
||||
String redisKey = String.valueOf(StrUtil.format("{}{}",
|
||||
ShopConstants.REDIS_PINK_CANCEL_KEY, storePink.getId()));
|
||||
redisTemplate.opsForValue().set(redisKey, "1" , stopTime, TimeUnit.SECONDS);
|
||||
|
||||
}
|
||||
|
||||
//todo 模板消息
|
||||
|
@ -8,8 +8,10 @@
|
||||
*/
|
||||
package co.yixiang.modules.user.service.impl;
|
||||
|
||||
import co.yixiang.enums.BillDetailEnum;
|
||||
import co.yixiang.enums.BillEnum;
|
||||
import co.yixiang.enums.BillInfoEnum;
|
||||
import co.yixiang.modules.activity.entity.YxStorePink;
|
||||
import co.yixiang.modules.user.entity.YxUserBill;
|
||||
import co.yixiang.modules.user.mapper.YxUserBillMapper;
|
||||
import co.yixiang.modules.user.mapping.BiillMap;
|
||||
@ -22,6 +24,7 @@ import co.yixiang.modules.user.web.vo.YxUserBillQueryVo;
|
||||
import co.yixiang.common.service.impl.BaseServiceImpl;
|
||||
import co.yixiang.common.web.vo.Paging;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -80,7 +83,10 @@ public class YxUserBillServiceImpl extends BaseServiceImpl<YxUserBillMapper, YxU
|
||||
// wrapperT.in("uid",uid).eq("type","brokerage")
|
||||
// .eq("category","now_money");
|
||||
|
||||
int count = (int)pageModel.getTotal();
|
||||
int count = yxUserBillMapper.selectCount(Wrappers.<YxUserBill>lambdaQuery()
|
||||
.eq(YxUserBill::getUid,uid)
|
||||
.eq(YxUserBill::getType, BillDetailEnum.TYPE_2.getValue())
|
||||
.eq(YxUserBill::getCategory,BillDetailEnum.CATEGORY_1.getValue()));
|
||||
List<BillOrderDTO> listT = new ArrayList<>();
|
||||
for (String str : list) {
|
||||
BillOrderDTO billOrderDTO = new BillOrderDTO();
|
||||
|
@ -24,6 +24,11 @@ public interface ShopConstants {
|
||||
*/
|
||||
String REDIS_ORDER_OUTTIME_UNCONFIRM = "order:unconfirm:";
|
||||
|
||||
/**
|
||||
* redis拼团key
|
||||
*/
|
||||
String REDIS_PINK_CANCEL_KEY = "pink:cancel:";
|
||||
|
||||
/**
|
||||
* 微信支付service
|
||||
*/
|
||||
|
Reference in New Issue
Block a user